使用Visual Studio 2010 SQL Server数据库项目,无论如何都要在SQL脚本中使用当前的计算机名称?例如,我想创建一个Windows登录:
CREATE LOGIN [$(MachineName)\Username] FROM WINDOWS;
我已尝试使用[.\Username]
,[localhost\Username]
,[BuiltIn\Username]
和[LocalMachine\Username]
但我在部署期间遇到错误;似乎需要完整的机器名称。
答案 0 :(得分:0)
以下是我最终要做的事情,以防其他人需要这样做。
Properties\Database.[Region].sqlcmdvars
。Database.Development.sqlcmdvars
文件,因为每个开发者机器应该是唯一的。答案 1 :(得分:0)
您可以在连接后动态构建SQL语句。
DECLARE @userName NVARCHAR(MAX)
DECLARE @machineName NVARCHAR(MAX)
DECLARE @command NVARCHAR(MAX)
SELECT @machineName = CAST(SERVERPROPERTY('MachineName') AS NVARCHAR(MAX))
SET @userName = @machineName + '\UserA'
SET @command = 'CREATE LOGIN [' + @userName + '] FROM WINDOWS;'
EXEC sp_executesql @command