Articles of sql server

如何避免将SQL_BINARY数组数据作为parameter passing时终止? (ODBC驱动程序)

我刚刚学会了Windows ODBC驱动程序API需要一个SQL_BINARY数据数组作为input参数以零字节终止的SQL_BINARY 。 即使我没有在文档中find这样的声明,我通过使用此代码执行存储过程,发现了这一点: 最小例子 // Parameter binding BYTE data[10] = { 15, 3, 54, 144, 34, 211, 200, 147, 15, 74 }; SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_BINARY, SQL_BINARY, 10, 0, data, 0, NULL); // Procedure execution SQLRETURN res = SQLExecDirect(hstmt, (SQLCHAR*)"{call dbo.Update_Data(?)}", SQL_NTS); 它导致SQLExecDirect以SQL_NULL_DATA失败。 在使用SQLGetDiagRec查询诊断logging时,我收到了以下logging: SQL状态= 22001,错误消息:“[Microsoft] [ODBC SQL Server驱动程序] string或二进制数据将被截断 ” 虽然这通常表示插入或更新到列中的数据大于列本身, 但这不是这种情况 。 […]

SQL Server服务在本地机器上停留

我有一些更新或尝试每晚运行,并最终离开SQL Server服务停止。 机器重新启动后,服务将正常重新启动。 我如何去诊断和解决什么是打破我的SQL Server服务? 我在Vista Business上运行SQL 2005。

我在哪里可以findSQL Server版本的友好的string?

9.00.4035.00的友好string是SQL Server 2005 SP3 Express Edition 。 我想通过只访问registry或字典将版本号转换为string。 我可以find一个列表吗?

有人可以解释我的Windows / SQL Server的内存使用情况

我正在运行带有8GB RAM和SQL Server 2005 64位的Windows Server 2003 x64。 我有SQL设置使用大量的内存,但SQL进程只有100 MB内存。 这是正常的吗? 它正在访问数据索引很多GB的大小。 而且,没有一个进程超过100MB,但是只有一个最小(<100MB)的内存。 可能有人向我解释内存在哪里使用,如果SQL内存使用情况正常? 内存使用情况: http : //img129.imageshack.us/img129/8624/02042009210608.png SQL Server内存设置: http://img10.imageshack.us/img10/8964/02042009210845.png 内存细节: http://img228.imageshack.us/img228/3830/02042009210917.png

在Windows以外的平台上使用sqlsrv_connect

我已经inheritance了一些使用sqlsrv_connect方法实例化与SQL Server数据库的连接的代码。 我的个人开发机器是一个OS X的框,我正在Apache上运行PHP的PHP。 我有一个在虚拟机中运行的SQL Server实例。 当我尝试连接到数据库时,出现以下错误。 Fatal error: Call to undefined function sqlsrv_connect() in … 看起来sqlsrv_connect不是标准PHP的一部分,并且是SQL Server 2005附带的驱动程序的一部分。 (如果我在这里错了,请纠正我) 有没有办法在非Windows平台上使用这个function? 我意识到我可以在Windows机器上安装/构build一个Apache / PHP实例,但是如果有一种方法可以在OS X(或其他* nixes)上使用这个函数,我更喜欢它。

我应该在哪里存储我的电子邮件内容在数据库或文件系统?

我目前正在计划一个主要由sql server 2012后端构build的电子邮件存储和传输系统的新devise。 大部分架构都是为了实际创build电子邮件而设定的,但我仍然不确定是否有一个devise元素 在哪里存储发送的电子邮件存档? 我应该将它们存储在SQL数据库中作为nvarchar(最大) 或者实际上将它们作为文件存储在文件系统本身(例如.htm文件)中,然后只是链接到存储在数据库中的文件 非常像目前我存储照片一样。

如何获取SQL Server 2008 R2的服务包?

在哪里可以find已经发布或计划用于SQL Server 2008 R2的服务包的信息?

使用Windows身份validation的模拟本地帐户访问远程SQL Server数据库

对不起,长的标题… 这里是情况 – 2台机器: IIS 7.5 / App服务器Windows 2008 SQL Server 2008 SQL Server计算机有一个本地帐户SpecialUser1 。 此帐户用作SQL Server本身的login帐户,并具有对数据库的完全访问权限。 IIS机器有一个相同的本地帐户SpecialUser1 。 Web应用程序使用Windows身份validation+ ASP.NET模拟与SpecialUser1 标识标记中定义的SpecialUser1一起安装。 <identity impersonate="true" userName="SpecialUser1" password="SpecialPassword" /> 它使用集成安全访问SQL Server,在连接string中定义: <connectionStrings> <add name="ConnectionString1" connectionString="Data Source=SQLSERVER1;Initial Catalog=DB1;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/> </connectionStrings> Web应用程序能够使用该模拟帐户访问SQL Server的数据库吗? 含义 – 这两个相同的帐户映射到授予访问数据库? 我依靠这里的信息: http : //msdn.microsoft.com/en-us/library/bsz5788z(v=vs.100).aspx 和这里: http : //msdn.microsoft.com/en-us/library/aa292114(v=vs.71).aspx 谢谢

使用TYPE(通过sqlserver 2008)命令将缓冲区大小限制为255

我正在使用master.dbo.xp_cmdshell将txt / csv文件加载到SQL Server,方法如下: CREATE TABLE #tempoutput ( result_id [int] IDENTITY(1,1) NOT NULL, result VARCHAR(MAX) ) INSERT INTO #tempoutput(result) EXEC @rcode = master.dbo.xp_cmdshell TYPE c:\test.csv 事情是,虽然结果列被定义为VARCHAR(MAX),当我试图带头: SELECT top 1 @result=result FROM #Tempoutput 为什么我只能读取255个字符? 以及如何能够获取所有行,直到CRLF 谢谢!

SQLException未处理 – Windows CE

我正在使用我创build的类连接到SQL Server 2008 R2数据库。 在桌面上使用WPF和Windows窗体,连接工作正常。 但是,使用Windows CE,这是完全不同的故事。 抛出的exception是SQLException,没有错误。 很奇怪,特别是由于根据这个 MSDN页面,在备注下,所有的SQLException(s)应该有一个SQLError。 代码如下: private void Open(string password) { //try //{ connection = "Data Source=" + SERVER + "; Initial Catalog=" + DATABASE + "; User ID=" + USERNAME + "; Password=" + password + ";"; connect = new SqlConnection(connection); connect.Open(); //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message, […]