Microsoft SQL Server 2005 中相关问题的解决办法

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

Microsoft SQL Server 2005 中无法创建“数据库关系图”的解决办法 

Microsoft SQL Server 2005 数据库中,经常会出现无法创建“数据库关系图”的错误,原因大多是这个数据库是附加,权限不够的关系。

解决办法:

选择数据库名 —> 右键 —> 属性 —> 选择“文件”,将看到右边的“所有者”,选择“...”按钮将弹出对话框 —> 选择“浏览(B)...”按钮—> 在匹配的对象中选上“[NT AUTHORITY\SYSTEM]”即可。

 

Microsoft SQL Server 2005 中数据乱码的解决办法
在Microsoft SQL Server 2005 数据库的数据表中,所有汉字都显示成了“???”乱码,问题原因出现在数据库的设置上。

解决办法:

选择数据库名 —> 属性 —> 选项 —> 排序规则,修改成“CHINESE_PRC_CI_AI”就可以了

注意:
在修改数据库的排序规则后,并非修改所有字段,比如"TrueName"就没有修改,有些预留关键字可能要手动修改。

修改某一字段的排序规则:

在相应字段的“列属性”中 —> 排序规则 —> 修改成“Chinese_PRC_CI_AS”即可。

 

附加:

若是你不想修改数据库属性,而在Microsoft SQL Server 2005 数据库录入数据时:

不能输入中文,使用SQL语句插入数据后,查看表中却显示成了“???”乱码。

解决办法:

数据列类型定义为以N开头,比如:nchar,nvarchar,ntext,N是national的缩写,代表unicode字符。

原来这样的语句:

  insert   into  table1  values ( ' 中文 ' );

 

就改正一下: 

  insert   into  table1  values (N ' 中文 '

 

 

SQL Server 2005 导出错误:
在将Excel 导入sql server 2005数据库时, 提示:"标题: SQL Server 导入和导出向导错误 0xc00470fe: 数据流任务: 产品级别对于 组件“源 - Sheet1$”(1) 而言不足。"
原因:      应该是没有安装SQL Server Integration Service(SSIS).
解决方法:安装SQL Server Integration Service(SSIS).

附加:
数据类型为text的数据导出可能报错!
数据字段名为中文也会产生数据导出报错!
字段类型问题:把需要导入数据的那个表的字段类型改为varchar型的,导完数据后一定记得再改回来。

数据表中的某字段的值里包含了分隔符,这样导致另一个字段出现该问题。更改分隔符。


SQL Server 2005 文本输出格式设置:

工具—> 选项—> 查询结果—> SQL Server—> 以文本格式显示结果在右边设置即可,关闭原来的查询窗口,点击“新建查询”。



由于字段类型导致的数据表联接报错

不能在 ntext、text 或 image 列上直接联接表,但可以使用substring 在 ntext、text 或 image 列上间接联接表。

例如:SELECT * FROM t1 JOIN t2 ON substring(t1.textcolumn, 1, 20) = substring(t2.textcolumn, 1, 20)

          // 可对表 t1 和 t2 中每个文本列的前 20 个字符进行两表内部联接。

 

此外,另一种可以采用的比较两个表中的 ntext 或 text 列的方法是用 WHERE 子句比较列的长度。

例如:WHERE datalength(p1.pr_info) = datalength(p2.pr_info)


 

SQL Server 2005 附加数据库失败,错误: 3415

这个问题从根本上说,应该是一个sa用户权限的问题,在sql2005里,sa不具有某些操作这样的权限,那么如何解决呢。除了更改sa的权限外, 可以使用windows身份验证登陆,做完需要的操作之后,再重新使用sa 帐户登陆,这样避开了这个错误的产生了。

下面是网上的一个解决方法:
     附加数据库 对于 服务器“***”失败。 (Microsoft.SqlServer.Smo)
     无法升级数据库 ‘******’,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
     查看了数据库文件,它们并没有只读属性,在 SQL Server 2000 中附加一切正常。

其实这个错误并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的 SQL Server 登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:
    * 将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;
    * 在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa;
    * 如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;
    * 将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;


 

在连接到SQL Server2005时,在默认的设置下SQL Server不允许进行远程连接可能会导致失败的解决办法

Sql Server2005 ,我们远程连接无法连接上的用这3步就可以了。

 

1.在"外围配置"工具把"允许TCP/IP和命名管道"勾上,当然"仅TCP/IP"也可以。


                                      图1:外围应用配置器中选择TCP/IP或者named pipes;

       其中named pipes就是类似进程间通讯用的东西,(说错了请大家指正)可以单独选择'仅选择TCP/IP';
   

2.然后从"配置管理器"中找到"...2005网络配置"->"网络协议"->"TCP/IP"查看里面的端口号,默认是1433,可以改成自己喜欢的.



                                 
图2:找到系统默认对应的TCP端口号,可以修改成自己喜欢的
 

3.在相应的防火墙新增个例外,比如默认的1433这样就可以远程连接了.

图3:在相应防火墙中新增一个在'第二步'中设置的TCP端口号,这里以XP系统自带的防火墙为例

     通过以上三步就可以了...刚开始自己也是一头雾水,不过SQL Server2005弹出的错误提示可以有很大的帮助.




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2008/07/30/1256291.html,如需转载请自行联系原作者


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
17天前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
7天前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
10 3
|
2月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
49 13
|
2月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
2月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
40 6
|
18天前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
80 0
|
2月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
|
2月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
93 3
|
2月前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
2月前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
38 2
下一篇
云函数