Questions tagged «sqlcmd»

SQLCMD是Microsoft SQL Server的命令行实用程序,可让您从命令提示符处执行T-SQL命令。


3
SQLCMD命令无法插入重音符号
我试图运行sqlcmd.exe以便从命令行设置新数据库。我正在Windows 7 64位上使用SQL SERVER Express 2012。 这是我使用的命令: SQLCMD -S .\MSSQLSERVER08 -V 17 -E -i %~dp0\aqualogyDB.sql -o %~dp0\databaseCreationLog.log 这是一部分sql文件创建脚本: CREATE DATABASE aqualogy COLLATE Modern_Spanish_CI_AS WITH TRUSTWORTHY ON, DB_CHAINING ON; GO use aqualogy GO CREATE TABLE [dbo].[BaseLayers] ( [Code] nchar(100) NOT NULL , [Geometry] nvarchar(MAX) NOT NULL , [IsActive] bit NOT NULL …


1
用户共享的查询:动态SQL与SQLCMD
我必须重构和记录许多foo.sql查询,这些查询将由数据库技术支持团队共享(针对客户配置等)。每个客户都有自己的服务器和数据库的票证类型经常出现,但其他方面的架构是相同的。 当前无法选择存储过程。我正在讨论是使用动态还是使用SQLCMD,因为我在SQL Server上有些新手,所以我也没有使用太多。 我觉得SQLCMD脚本对我来说绝对看起来更“干净”,并且更易于阅读和根据需要对查询进行较小的更改,但同时也迫使用户启用SQLCMD模式。由于使用字符串操作编写查询会导致语法高亮丢失,因此动态处理更加困难。 这些正在使用Management Studio 2012(SQL版本2008R2)进行编辑和运行。每种方法的优缺点是什么,或者一种方法或另一种方法的某些SQL Server“最佳实践”是什么?其中一个比另一个更“安全”吗? 动态示例: declare @ServerName varchar(50) = 'REDACTED'; declare @DatabaseName varchar(50) = 'REDACTED'; declare @OrderIdsSeparatedByCommas varchar(max) = '597336, 595764, 594594'; declare @sql_OrderCheckQuery varchar(max) = (' use {@DatabaseName}; select -- stuff from {@ServerName}.{@DatabaseName}.[dbo].[client_orders] as "Order" inner join {@ServerName}.{@DatabaseName}.[dbo].[vendor_client_orders] as "VendOrder" on "Order".o_id = "VendOrder".vco_oid where …

1
在SQLCMD模式下设置变量
使用SQL Server 2008 R2企业版 考虑以下语句: :setvar source_server_name "SERVERNAME\INSTANCENAME" 是否可以在SQLCMD模式下使用TSQL获得该值 就像是: :setvar source_server_name = SELECT @@servername 谢谢 更新7/15/2013 下面提供的两个答案并没有给出理想的结果,因此我添加了一个更相关的示例。 :setvar source_server_name [myserver] 变量source_server_name设置为文本字符串[myserver_1] 我希望能够做到这一点: create table #tmp( id int identity(1,1), server sysname ) insert into #tmp values('myserver_1'),('myserver_2'); :setvar source_server_name = SELECT server FROM #tmp WHERE id = 1 select '$(source_server_name)' (No …

6
有人在实践中使用sqlcmd模式吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 SQLServer 2005引入了一种称为 SQLCMD模式的 msdn链接。 乍一看,此模式从命令行批处理文件添加了变量替换,并在OS命令中进行了一些转义。 在您的环境,生产或测试中使用此功能吗?


1
在PowerShell中通过SQLCMD连接到LocalDB
我正在尝试使用SQLCMD实用程序通过PowerShell访问计算机上的“ localdb \ MSSQLLocalDB”服务器。我正在使用PowerShell v5,.NET v5.0,并且服务器名称是(localdb)\MSSQLLocalDB在Microsoft SQL Server Management Studio 2014中连接到服务器时的名称。 PS C:\> sqlcmd -S localdb\MSSQLLocalDB并PS C:\> sqlcmd -S .\localdb\MSSQLLocalDB导致此错误: Sqlcmd:错误:SQL Server的Microsoft ODBC驱动程序11:SQL Server网络接口:查找指定的[xFFFFFFFF]服务器/实例时出错。 我在Management Studio中查询了服务器名称,SELECT @@ServerName并-S在上述命令中使用了该名称,并得到了相同的错误。 PS C:\> sqlcmd -S localdb 给出此错误: Sqlcmd:错误:SQL Server的Microsoft ODBC驱动程序11:命名管道提供程序:无法打开与SQL Server的连接[53] 其他说明:我可以使用以下连接字符串连接到服务器并在C#控制台应用程序中使用名为testdb01的数据库进行工作System.Data.SqlClient: "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"

1
在SQLCMD中执行从SSMS生成的TSQL脚本。报价失败
我正在尝试通过执行SQL Server Management Studio中“生成脚本”工具生成的脚本来将数据库部署到计算机上。 这是我发出的命令: sqlcmd -S LOCALHOST\sqlexpress -I -U user -P ******** -i C:\Rollouts\NI-9-25-2012_10-42-AM\Rollout.sql > rolloutlog.txt 我收到这样的错误: Sqlcmd:错误:文件'C:\ Rollouts \ NI-9-25-2012_10-42-AM \ Rollout.sql'中命令'''附近第39488行的语法错误。 当我使用文本编辑器查看此行时,所有符号都指向带引号的问题。 有问题的行如下所示: $(''。cat-menu-new'')。slideDown(''slow''); 是否应该执行或生成脚本以支持脚本中的引号的开关?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.