Visual Studio Database Project Script Domain Name



我正在Visual Studio 2010中的SQL Server 2008数据库服务器项目中创建用户创建脚本。

脚本看起来像这样...

CREATE LOGIN DomainUser FROM WINDOWS

我将在我的台式电脑和笔记本电脑上开发。既不在域上运行,也不使用本地用户,例如 DESKTOPTestUserLAPTOPTestUser .

我需要做的是以某种方式将变量注入到自动设置域名的脚本中。我相信在SQL Server中,这是@@SERVERNAME。然后我可以在我的两台电脑上工作,脚本就可以工作了。目前,如果我在我的笔记本电脑上运行它,我会收到一个错误DESKTOPTestUser因为我的笔记本电脑上不是 Windows 主体。

我已经查看了 .sqlcmdvars 文件,我可以在其中设置一个注入脚本的变量。但是,我似乎无法将其用于诸如@@SERVERNAME之类的动态内容。

我还查看了从我的部署后脚本运行 EXEC 的问题,但我收到一个错误,指出此命令在这种情况下无效 - 我相信这意味着 VS2010 DB 项目中不接受 EXEC。

您可以使用以下脚本来实现此目的。它对我很有用,并为本地用户创建了一个登录名:

declare @sql nvarchar(max) = N'create login [' + @@SERVERNAME + N'TestUser] from windows'
exec(@sql)

最新更新