我正在尝试自动执行对 SQL Server 2008 R2 数据库执行更改的过程。我实施的流程删除并重新创建了我的存储过程和函数,以及运行脚本来更改表/列/数据。不幸的是,其中一个脚本需要首先放置其中一个函数。但是我不能先运行所有存储的过程/函数更改,因为它首先依赖于从表/列/数据更改脚本中添加的列。
我想知道是否可以在没有 SQL Server 验证函数/SP 定义中使用的列的情况下运行存储过程和函数?我尝试查找但找不到启用此功能的条件或命令。
sql-server stored-procedures sql-server-2008-r2 ddl functions
每当您更改 Oracle 的 sqlnet.ora 或 tnsnames.ora 文件时,系统是否需要重新启动?在我的例子中,我只在我所指的机器上安装了 Oracle 客户端,但出于好奇,这对 Oracle 服务器安装意味着什么?
在 SQL Server 中,我收到以下错误“查询已被取消,因为此查询的估计成本 (5822) 超过了配置的阈值 300。请与系统管理员联系。”
这是一个非常复杂的存储过程的执行结果。对于其他存储过程,我还没有遇到过这个问题,只有这个。是否可以以某种方式更改这一过程的查询成本?我可以在执行时在存储过程本身中做到这一点吗?还是我必须只在服务器上定义它?
我正在使用 ADO.NET 命令来执行存储过程。
谢谢。
我们有敏感信息(人名),我们正在寻找一个脚本来“清理”这些人名。有没有人想出一个很好的算法来做到这一点,而不是让所有姓氏都变成“TEST”之类的?
谢谢。
我在一个 SQL 文件中有一个还原数据库脚本,我正在尝试将从一个数据库生成的备份还原到一个新的数据库(存在)。SQLCMD 正在命令行上执行该 SQL 文件。命令窗口让我知道恢复成功完成;但是数据库还处于恢复状态,无法访问。因此,我的批处理过程的其余部分失败。如何让数据库退出恢复状态并返回到联机状态,以便我可以运行其他批处理脚本?
我正在使用它来做到这一点:
restore filelistonly
from disk = 'c:\program files\microsoft sql server\mssql10.mssqlserver\mssql\backup\olddb.bak'
GO
RESTORE DATABASE NewDB
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\olddb.bak'
WITH NORECOVERY, REPLACE,
MOVE 'OldDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.mdf',
MOVE 'OldDB_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.ldf'
Run Code Online (Sandbox Code Playgroud)
如果我的数据库说它成功完成,为什么我的数据库仍然处于恢复状态,有什么想法吗?
谢谢。
sql-server ×4
ddl ×1
exception ×1
functions ×1
oracle ×1
oracle-11g ×1
restore ×1
scripting ×1
sqlcmd ×1