我已经在虚拟机中安装了SQL Server 2008 R2“SQL Server数据库引擎”,我想通过其他计算机(Linux)的odbc连接到它。
我没有安装pipe理工作室,因为我想尽可能less的安装(这主要是为了非常基本的testing目的而不是真正的工作)。
我没有安装Management Studio,我不想安装它。
在安装过程中,我提供了一个用户和密码连接然而,看起来像东西出了问题,我不能使用此用户login。
情况:
CREATE LOGIN user-name WITH PASSWORD='secret'
。 我如何连接到这个数据库并添加新用户?
基本上我有两个select:
重新安装数据库,但:
我不想和没有任何承诺,这一次它会工作,并创build一个用户。
安装pipe理工作室我不希望它是虚拟机的巨大安装。
题:
是否有任何简单的命令行工具来访问数据库只是为了使用XP身份validation运行几个语句没有一个巨大的pipe理工作室工具?
解决scheme总结
sqlcmd -Q "create login ..."
来运行我需要的sql语句。 sqlcmd.exe
与“SQL Server数据库引擎”一起安装 sqlcmd将允许您使用Windows或SQL身份validation来针对服务器运行命令。 如果出现问题,并且没有授予服务器权限的Windows帐户,则可以在单用户模式下启动SQL Serve以访问并创build新帐户。
在我的系统上,这是SQL 2008(不是R2),sqlcmd.exe位于“C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn”中。 如果你使用R2,它可能是一个稍微不同的path。 你可以尝试寻找“osql.exe”。 osql.exe与sqlcmd大部分工作相同,但是早于sqlcmd.exe,并不像function齐全。 在我的系统上,osql.exe与sqlcmd.exe位于同一个Binn目录中。
即使当我打算远程pipe理服务器时,我发现在服务器上安装这些工具以及SQL服务,比不安装它们要less得多。 而且我已经使用SQL Server 12年了。 某些事情(如复制)通过手动编写Transact-sql非常困难,因为存储过程调用可能非常复杂,并且通常会丢失一些看似微不足道的工具。