您好,自从今天早上尝试使用 SQl 查询检索我的计算机的 SID 以来,我的脑袋就破了。 我只能检索字节数组中的 SID!
是否可以通过强制转换检索字符串?我试过了,但不可能。
这是我的sql查询
SqlDataSource data = new SqlDataSource(
System.Configuration.ConfigurationManager.ConnectionStrings["myDbConnection"].ToString(),
"Select sid FROM sys.server_principals where Name='##MS_SQLAuthenticatorCertificate##'");
DataView viewData = data.Select(DataSourceSelectArguments.Empty) as DataView;
//Get S.I.D in byte
byte[] tabSid = (byte[]) viewData[0][0] ;
//Get S.I.D in String format (not working)
string varSid = viewData[0][0].toString() ;
非常感谢
最佳答案
如果你这样做:
SELECT master.dbo.fn_varbintohexstr(sid) AS 'SID'
FROM sys.server_principals where Name='##MS_SQLAuthenticatorCertificate##'
然后 .ToString() 将正常工作
关于sql - 如何以字符串格式检索 sql server SID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12349768/