我安装了SQL Server 2012 Express,我正在学习一本关于SQL Server管理的书。我的任务是编写一个批处理文件来复制表中的数据并将其导出到Excel电子表格。
我的实例名称正确且我的用户名因登录而失败,因为密码。当我进入Management Studio并单击连接时,我看到我的用户名但密码为空,我以这种方式成功连接到我的数据库。如何为我的帐户设置密码?我想我无法使用SQLCMD登录,因为我没有这个设置。我的用户名与我的Windows用户名相同,使用我登录到Windows的密码不起作用。
SQLCMD -S CRAIG-PC\SQLExpress -U CRAIG-PC\Craig -P *********
-d AdventureWorks
-Q "SELECT * FROM Sales.SalesOrderDetail" -o C:\ExportDir\export.csv
这是我正在尝试连接和查询数据库的批处理文件中的命令。如果我拿出-P *******
SQL Server正在等待密码。如果我不使用用户名或密码,则拒绝连接。
使用tcp启用远程连接,但这是本地安装。
答案 0 :(得分:1)
使用'-E'开关使您的连接成为受信任的(Window的身份验证),然后您根本不需要用户名和密码(前提是您拥有足够的权限)
http://technet.microsoft.com/en-us/library/ms162773.aspx
请注意我在下面的python代码中,我没有实现用户或密码。
希望有所帮助
_query = "CREATE DATABASE %s ON (FILENAME = '%s'), (FILENAME = '%s') FOR ATTACH;" %(_database, mdffilepath, logfilepath)
command_process = SubP.Popen(['sqlcmd','-b', '-E',
'-S', _server,
'-d', 'master',
'-q', _query],
stdin = SubP.PIPE,
stdout = SubP.PIPE,
stderr = SubP.STDOUT,
shell = True)
_stdOut, _stdError = command_process.communicate()
答案 1 :(得分:0)
检查数据库的名称,即“AdventureWorks”应为“AdventureWorks2012”
答案 2 :(得分:0)
听起来您正在使用Windows身份验证,您可以删除-u和-p。如果没有提供,sqlcmd将使用Windows身份验证。