我们想使用 UTF-8 的等效项,但似乎无法在 SQL Server 2005 中找到合适的选项。我们应该使用哪个选项?
我需要一些认真的帮助。我的一个主要数据库服务器宕机了,我正在绞尽脑汁地思考如何修复它。该服务器上周在达拉斯遭遇轮流停电,然后感觉 Microsoft SQL 2005 SP2 将无法启动。我收到以下错误(在启动服务时和尝试执行 mssqlsrv.exe -c -f -m 时):
事件类型:错误事件源:MSSQLSERVER 事件 ID:913 找不到数据库 ID 3。数据库可能尚未激活或可能正在转换。数据库可用后重新发出查询。如果您认为此错误不是由于数据库正在转换其状态而导致的,并且此错误继续发生,请联系您的主要支持提供商。请查看 Microsoft SQL Server 错误日志以及与错误发生时的情况相关的任何其他信息。
和...
事件类型:信息 事件源:MSSQLSERVER 事件 ID:1814 无法创建 tempdb。您可能没有足够的可用磁盘空间。通过删除 tempdb 驱动器上的其他文件来释放额外的磁盘空间,然后重新启动 SQL Server。检查事件日志中是否有其他错误,这些错误可能表明 tempdb 文件无法初始化的原因。
我尝试将 tempdb.mdf 重命名为 tempdb.old 但没有成功。我检查了一下,有 193 GB 的可用硬盘空间。还有什么可能导致此问题?服务器是否需要在其上运行 chkdsk,或者我是否需要查看数据库服务器的某些区域?
任何帮助是极大的赞赏。先感谢您。
我有一台 Ubuntu 12.04 服务器,我正在尝试建立与 MSSQL 数据库的连接。
我已经成功使用tsql
and连接isql
,但osql
不起作用,并且使用 PDO 与 PHP 连接也不起作用。我会尽力提供尽可能多的信息,如果您需要更多信息,请告诉我,我会的编辑。
freetds.conf:
[MSSQL]
host = TPSACC
port = 54488
tds version = 8.0
Run Code Online (Sandbox Code Playgroud)
odbc.ini:
[MSSQL]
Description = MS SQL connection to PRODUCTION database
Driver = FreeTDS
Database = PRODUCTION
Server = TPSACC
UserName = sa
Password = pass
Trace = No
TDS_Version = 8.0
Port = 54488
Run Code Online (Sandbox Code Playgroud)
odbcinst.ini:
[FreeTDS]
Description = ODBC for Microsoft SQL
Driver = /usr/local/lib/libtdsodbc.so
UsageCount = 1 …
Run Code Online (Sandbox Code Playgroud) 我在连接到 IBM Shark 的刀片上使用 SQL Server 数据仓库解决方案时遇到了性能问题。由于页面闩锁等待时间过长,磁盘 I/O 性能似乎异常缓慢。其他从事基于 SQL Server 的 MIS 项目的人报告了类似的症状,但没有明显的解决方案。我尝试过的一些测试是:
在设置为 RAID-10 的 shevles 上构建部分或全部卷。这没有任何明显的影响。
禁用 SQL Server 上的强制直写行为(这可能是安慰剂 - 见下文)。
没有任何测试对速度产生显着影响,并且系统在具有直接连接的 SCSI 阵列的硬件和 O/S 规范(Windows 2003 服务器 EE)大致相似的机器上的基准测试速度大约是其两倍。在 SAN 上,我有三个卷,每个卷安装了 8 个磁盘(RAID-10 日志、RAID-10 tempdb、RAID-10 数据)。在带有直接附加磁盘的机器上,我有 6 个内部和 14 个外部 10k SCSI 磁盘。
请注意,Shark 有 32GB 的缓存 RAM,这应该足以适应测试的应用程序的工作集。
我调查的一个途径是用于 SAN 存储的 SQL Server 认证程序,其中 SAN 通过强制直写位集来尊重 I/O。我可以找到声称符合此规定的 EMC、HP 和 Hitachi SAN 的文档,但找不到关于 Shark 的此类文献。
有没有人在 Shark 上遇到过类似的性能问题——如果有的话,你对此有什么见解吗?
我们有一个运行内部应用程序的 MS SQL 2000 数据库服务器(< 50 个并发用户,表多达几十万行,一些网络,一些 .NET 客户端)。我们无意掏出 $$ 来升级服务器,并且正在尝试决定是将其保留在 SQL 2000 上还是迁移到 MySQL 5.1。我已经将 MySQL 用于较小的安装,并且一直很喜欢它。从我的角度来看,迁移的优点是我更喜欢在 MySQL 中编写查询而不是 MS SQL,而且我们有能力运行最新版本的 MySQL。留在 MS 上的优点是与我们的活动目录环境更好地集成和更好的 .NET 互操作性。我很想听听其他人对此的建议,以及关于任何一种方式的进一步优点(和缺点)。
请不要着火,我喜欢 MS SQL 和 MySQL,相信它们都有自己的位置。
我主要是一名开发人员,但对于一个小型内部系统,我目前还负责运行 SQL Server 企业版的服务器的一些配置。
数据库本身从两个来源看到活动:
我很高兴使用内置的 SQL 服务器备份实用程序,我制定了一个维护计划,每 6 小时备份一次整个数据库,并且每 6 小时在数据库备份之间备份一次事务日志(例如,早上 6 点,数据库备份、上午 9 点事务日志备份、下午 12 点数据库备份、下午 3 点事务日志备份)。我们每周都会对整个服务器进行磁带快照(数据不是关键任务,更多的是研发项目)。
在此设置之前,数据库开始急剧增长,现在所有完整的数据库备份都以非常易于管理的 15Mb(并且在缓慢增长)和 9 到 12Mb 之间的事务日志出现。
我做得对吗?您对事务日志备份的频率有任何其他见解吗?
如果我错过的另一个问题中的任何内容可能有用,请随时指出。
我接管监控的其中一个数据库设置为完全恢复模式,但没有备份事务日志的计划。这自然导致日志文件增长到相当大的大小。我知道在完全恢复模式下运行时,您希望进行事务日志备份以清除日志文件,但我担心任何备份失败。
我只想确认如果备份失败,我的日志文件是否会被清除。
我们有一个可以使用 mssql2k 或 2k8 的应用程序。我们一直在使用 2k,但我决定尝试使用 2k8 进行比较。我和 mssql2k 一起安装在我们的 win2k3 服务器上。在服务器上的ODBC小程序中,我能够设置对2k8的访问,并且最终成功通过了测试,无论我告诉它使用Windows身份验证还是使用sql登录。后者是应用程序始终访问 mssql2k 的方式。该应用程序在服务器上运行良好,但是当我在工作站 (winxpsp3) 上尝试时,我看到一个标题为“Microsoft SQL Server 登录”的窗口,上面写着:
Connection failed:
SQLState: '01000'
SQL Server Error: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server ERror: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
Run Code Online (Sandbox Code Playgroud)
然后我得到了 ODBC 登录对话框,我无法正确登录(我只是不断收到上述相同的错误),甚至在服务器上重置密码后复制并粘贴密码,以及是否选中“受信任” . “选项”被禁用。
对于 mssql2k,服务器是直接的 SERVERNAME,但对于 mssql2k8,它被称为 SERVERNAME\mssql2008。这在服务器上有效,为什么不在工作站上?(顺便说一句,我以同一个人身份登录。)
我遇到了一些日志问题,根据应用程序的工作方式,我们不需要完全恢复模式,这将有助于我们进行日志记录。
如何将数据库切换到简单恢复模式?
我们的一台装有 WSUS 的 Windows 2003 服务器的硬盘空间已满。搜索文件时,我发现这个 SQLDump10000.txt 文件超过 25gigs。我做了一些谷歌搜索,它说它是读写错误加上查询或内存中的内容。有人可以直接解释这里发生的事情吗?