我可以使用
从SSMS登录数据库。#!/bin/python3
import os
import glob
import datetime
import subprocess
def Copy_Logs():
# Variable Declaration to get the month and Curr_date_month
Info_month = datetime.datetime.now().strftime("%B")
Curr_date_month = datetime.datetime.now().strftime("%b_%d_%y")
Sourcedir = "/data1/logs"
Destdir = "/data2/logs/"
###### End of your variable section #######################
# The result of the below glob _is_ a full path
for filename in glob.glob("{2}/{0}/{1}/*.txt".format(Info_month, Curr_date_month, Sourcedir)):
if os.path.getsize(filename) > 0:
if not os.path.exists(Destdir + os.path.basename(filename)):
subprocess.call(['rsync', '-avz', '--min-size=1', filename, Destdir ])
if __name__ == '__main__':
Copy_Logs()
用户名:localhost\MSSQLSERVER01
(Windows身份验证)
但是当我尝试从应用程序连接时,我会得到
DOMAIN\user.name
即使我的帐户可以访问SSMS中的数据库并具有sysadmin权限。
检查SQL日志,只要登录失败,我就可以看到此消息:
Error Number:18456,State:1,Class:14
Login failed for user 'DOMAIN\User.Name'.
我尝试将2019-01-22 09:46:42.13 Logon Login failed for user 'DOMAIN\User.Name'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
2019-01-22 09:48:33.74 Logon Error: 18456, Severity: 14, State: 5.
和NT AUTHORIRTY\NETWORK SERVICE
都添加到/server/security/logins
中,但这没什么作用
为什么会发生这种情况,或者当错误消息基本不提供信息时如何调试?
连接字符串:
/server/database/security/users
但我也尝试过
Server=localhost; Database=dbname; Trusted_Connection=True;MultipleActiveResultSets=true;
具有相同的结果
答案 0 :(得分:1)
您的连接字符串应如下所示:
data source = Server \ gaurav.goel; database = DBName; Integrated Security = True; MultipleActiveResultSets = True
另一种方法是使用UDL文件-在计算机上创建一个文本文件,并将其扩展名更改为UDL。然后打开此文件,尝试将连接添加到该文件中,并检查是否可以连接。
答案 1 :(得分:1)
如果还没有做的话,可能还需要做一件事:
右键单击SSMS中的服务器,选择“属性”选项。
选择“连接”标签。
选中“允许到该服务器的远程连接”选项。
如果您尝试使用Windows身份验证远程访问它:
右键单击服务器,然后单击“属性”
转到“安全性”页面
在Server身份验证下,选择SQL Server和Windows 身份验证模式单选按钮
单击“确定”
重新启动SQL Services