图解把Excel数据导入到SQL Server 2008

图解把Excel数据导入到SQL Server 2008
图解把Excel数据导入到SQL Server 2008

实验环境: WIN XP ,MS Office Excel 2007 ,Sql Server 2008

准备数据: Excel文档: D:\test\重复出修率.xlsx

方法一:

第一步: 打开SSMS:

【开始】→【所有程序】→【Microsoft Sql Server 2008】→【Sql Server Management Studio】

第二步: 连接数据库:

在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器

(P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】)

第三步: 登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’

右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】

在弹出的窗口中,【数据源】选择:Microsoft Excel ;

【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel 2007 (可以根据你office的版本,选择其他如Excel 2003等等。)选中【首行包含列名称】框,最后点击【下一步】

“首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。

如我这里选的是’TEST’,选好后点击【下一步】

如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】

如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】

我这里是选择上面一个,然后点击【下一步】

接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’, ’shee2$’, ’shee3$’等等.

然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】

选中后,右边的【目标】栏位中会出现内容,

dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。我这里修改的表名称为:aug_info

修改后你也可以点击【编辑映射】

你可以在这里修改【目标】,【类型】,是否可以为NULL,【大小】等建表数据。修改好后,点击【确定】,如果不想修改就点击【取消】

返回上个窗口后,你也可以点击【预览】

预览里面是Excel表中的一些数据。点击【确定】,然后点击【下一步】

在弹出的页面中,就选中【立即运行】,至于【保存SSIS包】我也不是很清楚干嘛的。看样子好像是加密来着。

然后点击【下一步】

这个窗口就是一些提示信息,点击【完成】

这个窗口是导入数据提示信息,看来我导入数据成功了。

新建表名为aug_info,插入数据336行,所在数据库为TEST.

点击【关闭】按钮就可以了。

然后就是到SSMS中查看是否新生成了aug_info这张表.

刷新【TEST】数据库或者重新登录SSMS

在【TEST】数据库下,查看【表】,发现有个表名是aug_info

进一步确认下,数据是否有误.

点击【对象资源管理器】上面的【新建查询】,

输入:

use TEST

select COUNT(*)as有多少行数据from aug_info

select*from aug_info

前面显示‘已复制336行’,现在查询到表中有336行数据。看来这个表就是刚刚从Excel 中导入的数据。

OK,大功告成。

很简单吧,点点鼠标就可以了!

P.S:

前面到这里的时候,选择了上面的【复制一个或多个表或视图的数据】

那下面的【编写查询以指定要传输的数据】怎么用呢?

下面我们来试一下,重新导入Excel,到这一步选择下面按钮,然后点击【下一步】

发现这个是用来写SQL代码的。这个该怎么用呢?我也没用过,百度了下。

这个主要针对从数据库中导出条件筛选的数据.比如有一张test表,我只想导出表的其中一个字段或者几个字段的数据.就可以用这个.

select id, name from test where 条件

--首先打开SSMS,然后点击左上角的【新建查询(N)】,在右边弹出的窗口中输入一下代码:代码一:

----------------------------------------------------------------------------------------

use TEST --- ‘TEST’是数据库名字,你可以切换到你想要的数据库或直接输入数据库名字

----根据系统需要使用这几段批处理命令打开相应功能

EXEC sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

EXEC sp_configure 'Ad Hoc Distributed Queries', 1;

GO

RECONFIGURE;

GO

----以上为根据实际情况的可选命令

----开始插入数据到TEST数据库的一个新表中

select * into newtable_name from

OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]

go

P.S:

1:执行这段代码之前,你需要准备导入的数据。我用的是Excel 2007,Excel文件的名字为“daoru”,放在C盘目录下。

2:代码中的select * into newtable_name from ... 这是把excel中的数据插入到TEST数据库中,并同时新建表名为newtable_name存放插入的数据.

3: 代码中的Office2007的数据库驱动为“Microsoft.Ace.OLEDB.12.0”,

如果是Office2003的话应改成“Microsoft.Jet.OLEDB.4.0”,

还有Office2007中Excel的“Extended properties”中为“Excel 12.0”而Office2003为“Excel 8.0”

4: 代码中'Data Source="c:\daoru.xlsx" 就是要导入数据的文件存放路径. (注意后缀:Excel 2007的为.xlsx;Excel 2003的为.xls)

5: 代码中的...[sheet1$] 为表名,格式为:[XXX$]或者XXX$,不需要中括号也行,而且表名不能以数字开头(其实这是几乎所有编程语言的变量命名规则),切记!没有修改过名字的话,Excel默认是shee1,shee2,shee3....

6: 当然,你也可以使导入的数据,不用新建表.而是直接导入到数据库已有的表中, 只要稍微修改代码就可以了.

---------------------------------------------------------------------------------------

insert into 已存在的表名(字段一,字段二) select A,B from

OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]

go

---------------------------------------------------------------------------------------

代码二中,A,B表示的意思是Excel中的A列和B列, 但是直接输入A,B是没有用的.

这里还要提醒一点,导入数据的时候,系统默认Excel的第一行数据是字段名.

所以,你可以把Excel的第一行的前两列数据改为A和B,这样就可以了!

如果Excel中的列数和数据库中的已存在的表的列数相等,也可以改成如下:

代码三:

---------------------------------------------------------------------------------------

insert into 已存在的表名select * from

OpenDataSource('Microsoft.Ace.OLEDB.12.0','Data Source="c:\daoru.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[sheet1$]

go

---------------------------------------------------------------------------------------

SQLServer 2008以上误操作数据库恢复方法

SQLServer 2008以上误操作数据库恢复方法——日志尾部备份 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题。遇到这种情况,一般都是没有做备份,不然也不会来发问了。首先要冷静,否则会有更大的灾难。直到你放弃。 解决方法: 对于这类问题,主要是找回误操作之前的数据,在2008之前,有个很出名的工具Log Exploer,听说还挺好用的,这个网上大把教程,这里就不多说了。但是唯一遗憾的是,不支持2008及更高版本,这时除了其他第三方工具,那么最常用的就是本文提到的方法——日志尾部备份。本文实验环境2008R2,对于2008及其以上版本可以使用这个方法,其实2005也可以,2000很少用,没试过,只是2008之前可以使用Log Exploer,所以就没必要用这种方法。 下面图文并茂讲解操作方法,至于原理,不属于本文范围,而且我相信真遇到误操作的时候,估计没人会看原理了。 步骤: (1)、检查数据库的恢复模式,如图:

或者使用脚本检查: 1.SELECT recovery_model,recovery_model_desc 2.FROM sys.databases 3.WHERE name='AdventureWorks' 结果如下: 确保数据库的恢复模式最起码不能为【简单】。至于如何修改成完整模式,我觉得这些应该没必要多说了。 切记,对于任何重要环境,不仅仅是客户正式环境(俗称生产环境),都强烈建议使用【完整恢复模式】,虽然对于另外两种(大容量日志(BULK_LOGGED)、简单(SIMPLE))来说,完整恢复模式产生的日志会大,但是在出现问题的时候,就会觉得这些都不算什么了。并且我也想不到任何理由对于正式环境不使用完整恢复模式。只要管理得当,完整恢复模式的日志也不会太变态。 (2)、这里其实隐含另外一步,曾经做过最少一次的完整备份。因为所有类型的备份都基于完整备份,如果没有最少一次完整备份,其他类型的备份都是多余的,所以在这里强调一下,在创建完一个新数据库之后,强烈建议甚至强制做一次完整备份。 1.SELECT database_name,recovery_model,name 2.FROM msdb.dbo.backupset 使用上面的语句粗略可以看到有那些数据库做过备份,由于测试,所以做了几次备份,可以看到我这个时间点已经做了备份了。 (3)、确保别人不再连接数据库,然后做一次日志尾部备份: 首先先创建一点数据: [sql]view plaincopyprint?

SQL server 2008 数据库置疑的处理办法

SQL server 2008 数据库置疑的处理办法 1 把问题数据库备份后直接删除 停掉SQLSERVER服务,把服务器上出问题的数据库, 假设名称为ErrorDB的数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件也删除 2 新建同名数据库 启动SQLSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致 3 用备份的数据库文件替换新的数据库文件 停掉SQLSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件) 启动SQLSERVER服务,打开数据库,这时数据库应该是不能访问的 -------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式 ---------------------- 4 将数据库设置为应急状态 alter database ErrorDB set emergency 执行后,为了保险起见,重新停止、开启的SQLSERVER服务 再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等 数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作 5 将数据库设置为单用户模式 ALTER DATABASE ErrorDB SET SINGLE_USER 6 对数据库进行检查修复 dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(EIMSDb,REPAIR_REBUILD) 操作后,仍然停止启动SQLSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)重新打开数据库,已经是正常状态了,没有应急提示了 7 取消单用户模式 exec sp_dboption EIMSDb, N'single', N'false'

安装SQL Server 2008 注意及问题解决

SQL Server 2008 安装过程及部分错误解决 本文分为三部分: 一、SQL Server 2008完全卸载过程 二、SQL Server 2008安装过程 三、我在安装过程中所遇到的问题及解决办法 (1)创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法(2)找不到方法 “boolean microsoft.sqlserver.configuration.msiextensionmetadata.get_isslipstreamorpatch()" (3)“试图执行未授予权限” (4)出现以下错误:对路径 “C:\Windows\system32\perf-ReportServer$MSSQLSERVER3-rsctr.dll”的访问被拒绝。(5)“重启电脑失败” 一、SQL Server 2008完全卸载 1、程序与功能中,右键SQL Server 2008删除 2、进入删除SQL Server 2008,一路下一步下去

3、在程序和功能中,还有SQL Server 2008相关 如果前面卸载比较顺利,相关的组件不多,继续删除SQL Server 2008 Native Client等红框中的组件 4、如果前面没有卸载干净,下载Windows Installer Clean UP选择SQL Server 2008相关移除

再使用SRVINSTW移除SQL Server 2008相关服务。我后来卸载的时候,在程序和功能卸的就很干净,用不着这两个小工具了。 5、清理注册表:开始-运行-regedit.exe 在注册表里找到对应的文件夹,删除 (1)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server (2)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Native Client 10.0 (3)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer (4)HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server 下面是我在网上搜到还需要删除的文件夹,但是我一般就删除上面的文件夹就好。 ④HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer ⑤HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVER AGENT ⑥HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \MSSQLServerADHelper 6、找到C盘Program Files里Microsoft SQL Server,Microsoft SQL Server Compact Edition文件夹,删除。如果当初装在别的盘就去相对应的位置找,但C盘Microsoft SQL Server文件夹还要删。删除不顺利用360强力删除。 7、重启计算机

SQL Server 2008登录问题(错误 233和18456)解决方法

今天使用 SQLSERVER2008 先遇到了233 错误,后又遇到了 18456 ,从网上找到了解决方法,具体如下: 一、原 帖https://www.360docs.net/doc/1e3815551.html,/luckcq@yeah/blog/static/1717477072011322102075 36/ 问题:已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233) 解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2008 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2008 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2008就可以了。 二、原帖https://www.360docs.net/doc/1e3815551.html,/qishuangquan/article/details/6024767 问题: SQLSERVER2008 18456错误 我是这么解决的: 1、以windows验证模式进入数据库管理器。

第二步:右击sa,选择属性:

在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。 第三步:点击状态选项卡:勾选授予和启用。然后确定 第四步:右击实例名称(就是下图画红线的部分),选择属性。

第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式。 第六步:重启SQLSERVER服务(重要)。 最后,如果数据服务器打开开了防火墙,请增加访问规则,添加TCP1433端口的

SQLServer2008 安装问题解决

SQLServer2008 安装问题解决 一、SQL Server 2008安装时总是提示重启计算机的解决方法 在SQL Server 2008进行安装时,安装程序会自动进行系统检测,以确认安装环境是否有问题,有时会经常碰到需要进行系统重新启动,信息如下: 此时即使是进行电脑重启,也会报这个错误,那么就不是电脑的问题了,其实是系统注册表在作怪,解决方法如下: 1、开始-->运行,输入regedit,打开注册表管理器; 2. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置; 3. 将右边窗口中名称为PendingFileRenameOperations的项删除,然后确认; 4. 重新启用安装或修复程序,即可。 二、提示“未指定INSTANCESHAREDWOWDIR 命令行值。如果指定 INSTANCESHAREDDIR 值,则必须指定该值”错误的问题 (一) 问题描述: 安装时,如果在选择共享组件的安装路径时,不按照微软默认给定的“C:\Program Files\Microsoft SQL Server”路径,想要自定义安装路就会报错…… 例如想把“C:\Program Files\Microsoft SQL Server”修改为“D:\Program Files\Microsoft SQL Server” 错误的详细信息是: 未指定INSTANCESHAREDWOWDIR 命令行值。如果指定了INSTANCESHAREDDIR 值,则必须指定该值。(英文版提示:The INSTANCESHAREDWOWDIR command line value was not specified. This value must be specified when the INSTANCESHAREDDIR value is specified.) (二) 解决办法

windows2008+sqlserver2008故障转移集群

windows2008+sqlserver2005故障转移集群的实现网络规划 IP: public private 主域控AD 192.168.10.40 节点A: 192.168.10.41 10.0.0.41 节点B:192.168.10.42 10.0.0.42 管理口IP:192.168.10.200 Iscsi口IP: 192.168.10.201 Mscs IP:192.168.10.100 SQL server集群IP:192.168.10.101 DTC IP:192.168.10.102 2、存储规划 Q盘:20GB S盘:30GB M盘:40GB 3、MSCS安装环境配置 3. 1 配置虚拟机windows server 2008 3.1.1防火墙设置 先将三台计算机名字改为A、B、AD,其中A和B做两节点,AD做主域控 分别将A节点、B节点和AD域控的防火墙入站连接设置成允许 3.1.2 windows网络配置 设置A节点public网络,IP设置为192.168.10.41,首选NDS指向AD域控的IP

设置A节点private网络,设置IP为10.0.0.41,在高级中点击DNS标签,去掉在DNS中注册此链接的地址选项 在WINS标签中选中禁用TCP/IP上的netbios选项

3.1.3 磁盘划分 分别从A节点和B节点的iscsi发起程序中输入isum550的iscsi端口的IP,从节点上发现三块磁盘, 分别将A、B两节点上的三块磁盘格式化和重命名,命名为Q盘,S盘和M盘

4、MSCS集群配置 4.1、AD域的配置 4.1.1、创建主域控 在B节点的运行中输入dcpromo,运行出现下图

sql server 在windows2008安装过程中遇到的问题详解

Windows 2008 r2 安装sql server 主要遇到问题详解 一、首先安装iis,要安装全部项目,这样在 如图检查时,才不会有警告,有可能会有https://www.360docs.net/doc/1e3815551.html,版本注册要求的警告,这是因为没有在装iis时,先安装.net frame 原因,可以不必管他,不影响后续使用。 根据安装提示,按下一步执行,到达如下图界面时,记得一定要勾选SQL Browser

二、待sql server程序安装完成,附加或者还原数据库后,如果是asp程序注意启用父路径,程序池启用32位程序,方法如下: 启用父路径: 程序池启用32位程序:

右键点击网站对应的程序池,选择高级设置,在如下图界面,启用32位应用程序那选择true 三、此时打开网站,有可能会出现如下提示: An error occurred on the server when processing the URL. Please contact the system administrator。 或者

500 - 内部服务器错误。您查找的资源存在问题,因而无法显示。这两种,具体错误信息是被隐藏的。 如果想看详细错误,可以双击下图所示asp图标

在打开的界面中, 将错误发送到浏览器,选择true. 然后本地浏览器,从浏览器选项-高级里面,去掉错误友好显示前的对勾。就能看到具体程序错误。 四、提示的错误有可能如下: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序; 或者 Provider 错误 '80004005' 未指定的错误 出现这两种情况一般有以下几个原因: 1、数据库服务没有启动,一般在安装时,把需要安装的项目全选,正确安装后,这个一般没问题。如果要查看,点击开始-所有程序-sql server 2005 –配置工具-SQL Server

Windows Server 2008R2 MSCS+SQL SERVER故障转移集群配置

Windows 2008 R2集群服务和SQLServer 2008 R2集群服务部署 大体步骤: 1.建立域控制器,配置好域控及两台成员服务器的网卡参数和DNS指向,修改各服务器的主机名。成员服务器需要加 入到域。(成员服务器上设置IP时只选择IPv4,去掉IPv6的选项。心跳网卡可以不设置dns,在成员和域控制器上要在网卡的高级属性中的wins选项中禁用NETBIOS。) 2.在域控制器dc上添加对私网地址网段的反向DNS解析。(若成员服务器加入到域后没有对应的DNS记录可以尝试 重启缺少记录的对应服务器) 3.安装角色和功能时要确定安装“I/O多路径”“故障转移群集”应用服务器里的“传入、传出服务”“分布式协调器 DTC”。 4.创建群集后在群集所在的节点上安装sql的故障转移群集,在备机上向sql server故障转移群集添加新的节点。 一、环境 已部署好域环境如下图。 域控制器一台,安装有Windows Server 2008 R2,已加入域,IP地址为 1.1.1.30 节点计算机两台:wloonga和wloongb,安装有Windows Server 2008 R2,已加入到域。IP地址分别 1.1.1.1和1.1.1.2(需要先做好域并在域上建立一个sql server2008R2专用的组,并将sql用户加入domain admin组和群集服务器的本地管理员组。) 两台群集服务器在通过iscsi连接存储磁盘后在磁盘管理中设置相同的磁盘盘符如下

已划分存储: 二、在两台节点计算机wloong1和wloong2上添加多路径I/O功能在wloong1上过程如下: 1、点击开始- 管理工具- 服务管理器- 功能- 添加功能

SQL server 2008 安装过程错误解答

SQL server 2008 安装过程错误解答 (1)、SQL server 2008 安装包下载地址:https://www.360docs.net/doc/1e3815551.html,/s/1eQd7Izo 序列号:Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB (2)出现如图错误 把上面最后一段C:\Users………\user.config line 5 直接删除就行 (3)还有一种情况是SQL 在选择安装过后,窗口就直接消失了 原因:电脑上已有SQL文件,这时你就要想办法吧电脑上的SQL文件都删除, 1、删除电脑上所有Microsoft Visual 2010文件 2、删除所有含有SQL的文件 方法:打开#控制面板#中的#程序和功能#选项,找出与上述两项相符的文件,直接删除,千万不要手软。 另外还要 在开始输入就是注册表编辑器 1。停止所有跟Sql相关的服务:控制面板-〉管理工具-〉服务 2。在控制面板中卸载所有和SQL有关的一切程序或者组建 3。注册表清理(): 3.1彻底删除SQL Server: hkey_local_machine\software\Microsoft\MSSQLServer hkey_local_machine\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\Microsoft SQL Server hkey_current_user\software\Microsoft\MSSQLServer hkey_local_machine\system\currentcontrolset\control\sessionmanager\pe ndingfileren ameoperations 3.2注册表中的相关信息删除:

解决安装SQl_2008的几个常见问题

System.Configuration.ConfigurationErrorsException: 问题描述 创建userSettings/https://www.360docs.net/doc/1e3815551.html,ndingPage.Properties.Settings 的配置节处理程序时出错: 未能加载文件或程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统没找到指定的文件。(C:\Users\hp\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxm t4nhllj5z3thycltsvyyx\10.0.0.0\useronfig line 5) 解决办法 //删除这个文件 C:\Users\hp\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt 4nhllj5z3thycltsvyyx\10.0.0.0\useronfig 规则“重新启动计算机”失败的解决方案 问题描述 对于安装SQL2008出现的错误:规则“重新启动计算机”失败 解决办法 1、Windows+R,在对话框中输入“regedit”,点击运行; 2、此时会弹出注册表信息,在里面找到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager”目录 3、删除“PendingFileRenameOperations”; 4、关闭对话框,重新开始安装Sql Server2008,问题解决。 SQL Server代理服务提供的凭据无效 问题描述 在Windows Server 2008安装SQL Server 2008出现的问题:安装时在“服务器配置”环节出现以下问题: 为sql server代理服务提供的凭据无效 为sql server服务指定的凭据无效 为analysis services服务提供的凭据无效 为reporting services服务提供的凭据无效 为integration services服务提供的凭据无效 解决办法 SQL Server代理选 SYSTEM SQL Server database engine 选 NETWORK SERVICE SQL Serveranalysis services 选 NETWORK SERVICE SQL Serverreporting services 选 NETWORK SERVICE SQL Serverintegration services 选 NETWORK SERVICE 不要设置密码。

SQL Server 2008 R2故障转移群集部署

部署环境 SQL Server 2008R2故障转移群集必须依赖于Windows2008R2的故障转移群集,部署前请先在节点服务器上部署Windows2008R2故障转移群集。Windows2008R2故障转移群集的部署方式请参阅《Windows2008R2故障转移群集部署》。 SQL Server的版本必须为2008R2 或集成了SP1的SQL Server 2008,如果使用没有集成SP1的2008安装文件将无法成功部署故障转移群集,2008R2没有SP1,可以直接部署。 SQL2008R2故障转移群集的两个节点服务器必须在同一个域中,且两个节点服务器均不能作为域控制器或DNS服务器。 部署过程 一、安装和配置MSDTC 1.安装MSDTC 所需要的服务器角色(在两台sqlServer服务期上分别执行) 在"角色管理"中,添加角色,安装和配置"应用程序服务器 在"角色服务"中要选上"传入远程事务处理"、“传出远程事务处理”,MSDTC要使用它们,并根据向导安装完成

2.创建MSDTC 群集 在任意一台SqlServer服务器上,打开“故障转移群集管理”,选择“存储”,查看,看下M盘(MSDTC专用盘)在哪个节点(SqlServer服务器)上,在拥有M盘的节点(SqlServer服务器上)上,打开“故障转移群集管理”,右击“服务和应用程序”,选择“配置服务或应用程序”: 开始运行向导,选择我们要安装的“分布式事物协调器”(DTC),并选择下一步

命名DTC的名称,并设置MSDTC的IP地址(名称任意即可,例如ClusterDTC,此处的MSDTC的IP地址在实际应用中不会用到,但必须与保持在应用网络的地址段内) 选择MSCTC磁盘,此处应该有两块磁盘可供选择,一块为M盘,一块为其他(数据磁盘),在需要选择磁盘前划勾,选择下一步。(网络存储的3块磁盘分别为Q见证磁盘,M MSDTC磁盘,D 数据磁盘,Q盘在创建Windows故障转移群集的时候已经被选作为见证磁盘,故此处只有两块磁盘共选择)

SQL Server 2008 数据库定时备份出错解决办法

前段时间写过一篇关于SQL Server 2008自动备份数据库的日志,写完之后就把自己运营的相关数据库进行了自动备份设置,原以为非常的完美,一个月之后我在检查数据库的备份情况时发现,我之前创建的数据库备份计划居然没有执行,这一点让我虚惊一场,还好这段时间数据库没出什么问题,一旦出问题那可就完蛋了。这时,我只能静下心来检查问题的所在了,首先,我登陆数据库,找到之前创建的任务备份计划,立刻执行了一下,结果出现如下图错误: 查看历史记录日志,提示如下图的详细错误信息:

很明显是在“执行作业”的时候出现了问题,那么如何解决这个问题呢?其实明白问题所在之后,解决问题也就不那么难了,首先我们检查一下SSIS是否在电脑中安装了,打开“SQL Server 配置管理器”,在“SQL Server 服务”里面找到“SQL Server Integration Services 10.0”,看这个服务是否已启动,如果没启动,鼠标右键“启动”即可,然后再去执行数据库任务备份计划即可成功备份了。 可我遇到的情况更加的悲剧,没有找到“SQL Server Integration S ervices 10.0”这个服务,这简直就是坑爹啊,无奈之下我只能利用SQL Server 2008 的安装包向现有 SQL Server 2008实例中添加该功能了。

执行SQL Server 2008中的“Setup.exe”然后上图所示的选项。 到这一步的时候一定要注意,选择“向现有 SQL Server 2008

的现有实例中添加功能(A)”然后继续下一步,选择我们需要添加的功能,为了方便以后使用,我们在此处选择“全选”,然后单击“下一步”直到安装结束。然后重启服务器——登陆服务器——重新创建我们的数据库备份计划——创建完成之后再执行——执行成功。具体的创建步骤在这里我就不多说了,不知道的朋友们可以参考前面发表的日志“SQL Server 2008如何创建定期自动备份任务”。

Sql Server 2008 R2数据库损坏修复

Sql Server 2008 R2数据库损坏修复 某外贸连锁店使用的SQL 2008R2数据库,正常使用中突然服务器断电导致的损坏,再次附加发现数据库报错不能正常运行,客户那边运维自己尝试了修复以及重建日志但是故障依旧,后来发现自己解决不了联系到我们进行处理。 数据库大小800M,底层数据看了一下正常,先用工具检测看下页面损坏情况, 可以看到确实是有页面损坏,直接新建库替换重新生成日志在看损坏情况,(2008R2重建方法可以自行网上寻找) 替换之后日志重建成功,但是DBCC 检测发现报错系统表预检查: 对象 ID 3。无法使用闩锁类型 SH 读取并闩锁页 (1:37297)。由于不可修复的错误,CHECK 语句已终止。

这种报错很多见,在SQL2000下修复容易一些,但是2008R2很多修复语句是不通用的。这种故障一般是系统页面损坏导致,损坏的表ID是3.,通过语句查询ID3所在的系统表。将损坏的系统表进行修复或许重建,再次重建日志,DBCC 检测之后发现数据库正常,且表内数据可以正常访问! 现在高版本的数据库有页面自动修复功能,所以损坏的几率也就下降了很多,但是还是有不少意外情况发生,这已经是3天内修的第5个2008数据库了,全部完整修复可正常使用! 目前可完整高效率修复MSSQL 6.5 7.0 2000 2005 2008 2008r2 2012 据库 置疑,可疑,恢复挂起,Suspicious,系统表损坏!索引断裂,页撕裂,通讯中 断,一致性错误,数据库还原还原时报一致性错误,错误823等情况下的数据恢 复,各种错误提示的数据库文件修复和某些表打不开的错误修复!

Windows Server 2008上安装SQL Server 2008服务器端出现的问题及解决办法总结

Windows Server 2008上安装SQL Server 2008服务器端出现的问题及解决办法汇总 今天windows server 2008上第一次安装数据库SQL Server 2008(以前的都是别的版本),出现了几次安装不下去的情况,通过从网上查找资料全都解决,最后顺利安装完毕。以下是碰到问题的解决办法,希望对大家有所借鉴。 1.SQL server2008安装介质上文件的长路径名称不适用 把安装文件Copy出来,放在一个英文名的文件夹下,路径中不能包含中文 2.安装SQl 2008为SQL Server代理服务提供的凭据无效

sql server 2008 代理服务提供的凭据无效 sql server 2008 代理服务提供的凭据无效 在Windows Server 2008安装SQL Server 2008出现的问题:安装时在“服务器配置”环节出现以下问题: 为sql server代理服务提供的凭据无效 为sql server服务指定的凭据无效 为analysis services服务提供的凭据无效 为reporting services服务提供的凭据无效 为integration services服务提供的凭据无效 解决方法: SQL Server代理选 SYSTEM SQL Server database engine 选 NETWORK SERVICE SQL Serveranalysis services 选 NETWORK SERVICE SQL Serverreporting services 选 NETWORK SERVICE SQL Serverintegration services 选 NETWORK SERVICE 不要设置密码。

SQL Server 2008故障转移集群+数据库镜像配置实例

SQL Server 2008故障转移集群+数据库镜像配置实例 一、总体方案 故障转移集群技术与镜像技术结合,在主体数据库上实现双机集群,镜像数据库不在集群内,是一台单独的数据库服务器。 在配置镜像数据库时,选择镜像运行模式为“高性能模式会话”,此模式下:如果群集故障转移到另一节点,在镜像会话中,故障转移群集实例将继续作为主体服务器。如果整个群集出现问题,则可以将服务强制到镜像服务器上。 二、关于镜像和集群 通常,当镜像与群集一起使用时,主体服务器与镜像服务器都驻留在群集上,其中,主体服务器在一个群集的故障转移群集实例中运行,镜像服务器在另一个群集的故障转移群集实例中运行。不过,您可以建立一个镜像会话,其中,一个伙伴驻留在一个群集的故障转移群集实例中,另一个伙伴驻留在一个单独的非群集的计算机中。 参考《SQL Server 2008数据库镜像+故障转移集群》 三、系统准备 1、建立Windows Server 2008 故障转移集群 参看《配置Windows Server2008故障转移集群》 2、给各节点添加共享存储(本例使用windows Storage Server配置iSCSI存储) 参看《使用Windows Storage Server 2008给hype-v添加iSCSI盘》 3、给集群添加网络磁盘(分布式事物协调器需要一块磁盘、SQL需要一个磁 盘) A、打开故障转移集群 B、点击右侧“存储”项。选择右侧的“添加磁盘”功能 C、将节点中新添加的iSCSI存储添加到集群存储,并修改磁盘名称为SQL

4、添加分布式事务处理的集群化 A、打开故障转移集群管理器,点击配置服务或应用程序 B、选择添加“分布式事物协调器”进行添加 C、设置MSDTC名称、IP地址、存储

SQL Server 2008 登录错误解决

SQL Server 2008 登录错误解决:无法连接到(local) 0人收藏此文章, 我要收藏发表于1个月前, 已有82次阅读共0个评论 在一些朋友安装完SQL Server 2008之后大多会遇到连接出错的问题。特别对于我们这样的新手而言简直郁闷的要死,好不容易装玩了又出现了问题。此篇文章意在解决安装步骤没有问题,但安装后无法登录的问题。 在解决问题之前请朋友们打开服务窗口,看“SQL Server”主服务是否打开,如下图。 若服务已经打开还是用“SQL Server 身份验证”和“Windows 身份验证”都无法登录请看下面的步骤。 往往这时,服务器类型我们选择了“数据库引擎”时,查找里面的可登录用户名是没有的,下边的服务器名称只显示为“(local)”,连“Windows 身份验证”都无法登录。

出错后弹出的窗口为: 错误号:2。 如果朋友们和我出错的问题是一样请看下面的步骤。

1.又键单击“我的电脑(windows XP)”或“计算机(Windows 7)”查看本机的计算机名。 2.打开“SQL Server 2008”, 服务器类型选择:数据库引擎。 服务器名称写上:计算机名\安装SQL Server时自己创建的实例名。 身份验证选择:SQL Server 身份验证。 填上自己设置的登录名和密码。 如下图: 3.点击“连接”就可以登录了,如下图。

此时,SQL Server 2008登录出错的问题就解决了。 总结:SQL Server 2008 版本数据库软件的服务器名称较SQL Server 2005版本做了改变,现在使用的是:计算机名\实例名。这就导致了“无法连接到(local)”的问题。 关键字:SQLServer2008登录出错解决

SQL_Server2008数据库备份与恢复

201 SQL Server 数据库的备份和恢复 大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。数据库备份和恢复对于保证系统的可靠性具有重要的作用。经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。 SQL Server 提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。但由于数据库管理系统的特殊性,需要利用SQL Server 提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。 这个方法涉及到SQL Server 分离数据库和附加数据库这两个互逆操作工具。 1、分离数据库就是将某个数据库(如student_Mis)从SQL Server 数据库列表中删除,使其不再被SQL Server 管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。 2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server 数据库服务器中,由该服务器来管理和使用这个数据库。 下面分别介绍这两个步骤的操作细节。 1、分离数据库 分离数据库的操作由以下6步构成。 1) 在启动SSMS 并连接到数据库服务器后,在对象资源管理器中展开服务器节点。在数据库对象下找到需要分离的数据库名称,这里以student_Mis 数据库为例。右键单击student_Mis 数据库,在弹出的快捷菜单中选择属性项(图7-42),则数据库属性窗口(图7-43)被打开。 图7-42打开数据库属性窗口 2) 在“数据库属性”窗口左边“选择页”下面区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”文本框,在其下拉列表中选择“SINGLE_USER ”。

sql server2008 错误:15023 解决方案

sql server2008 错误:15023 解决方案 在把远程服务器上的数据库备份还原到本地机后, 给一个"登录"关联一个"用户"时,发生错误: “错误15023:当前数据库中已存在用户或角色” 原因及解决办法如下: 在迁移测试平台数据库的过程中发现,在两台服务器上运行的sql server 服务器之间迁移数据库的之后,会出现一个在源服务器上可以正常的用户在目的服务器上无法登录的情况。几经排常找到了原因与解决方法,因为这个问题与解决方法均比较复杂,所以把这个过程中的一些经验纪录下来与大家分享,希望能对大家以后的类似操作有所帮助。 首先介绍一下sql server中“登录”与“用户”的区别,“登录”(Login)用于用户身份验证,存在于master库的syslogins表中,不随用户数据库的备份而备份,所以当换了机器或重装了系统就丢失了登录:Login而成了孤立用户。而数据库“用户”(User)帐户存在于用户数据库中,可跟随用户库的备份和还原。登录通过安全识别符(SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况被称为存在“孤立用户”。此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,因为SQL Server会报出“错误15023:当前数据库中已存在用户或角色”,为了解决这个问题,需要调用系统存储过程sp_change_users_login,具体用法如下: Use Northwind go sp_change_users_login 'update_one', 'test', 'test' 其中Northwind为存在孤立用户的数据库,update_one是存储过程的参数,表示只处理一个用户,前一个test是“用户”,后一个test是“登录”,以上这个SQL

SQL Server 2008使用扩展事件进行高级故障排除

全世界的 SQL Server DBA 都有一个似乎永远无法解决的难题:故障排除,其中所执行的绝大多数故障排除都是为了查找某种性能问题。即使是最精心构建并经过测试的应用程序系统都会随着时间的推移发生变化,进而导致可能出现重大的性能问题。 例如,工作负载可能会发生变化(如并发用户的数量、需要执行的查询数以及需要运行的新月末报告)、需要处理的数据量可能会增加、运行系统的硬件平台可能会发生变化(如处理器内核数量、可用的服务器内存数量以及 I/O 子系统容量),另外还可能引入新的并发工作负载(如事务复制、数据库镜像以及更改数据捕获)。 但这些并不是问题的全部。在设计和测试应用程序系统时,设计中往往会出现很多意外的问题,这些也都需要进行故障排除。显然,无论在应用程序生命周期的哪个阶段发现问题,都必须通过故障排除来找出原因并给出解决方案。 在一个复杂的应用程序系统中,可能会有许多需要进行分析的硬件和软件组件,但我关注的只是SQL Server。抛开各种性能故障排除方法不谈(这些属于本文以外的内容),您对 SQL Server 进行故障排除时都需要哪些工具呢? SQL Server 2005 中的故障排除 在最近的几个 SQL Server 版本中,可用于性能故障排除的工具大为增加。SQL Server 包含大量的 DBCC(数据库控制台命令)命令,可用于深入了解数据库引擎各个部分的当前状况。此外还包括 SQL Server Profiler,它可以通过编程的方式使用底层 SQL Trace 机制。 尽管 SQL Server 为进行故障排除不断加以改进,但这些选择依然存在某些问题。DBCC 输出的后处理显得有些笨拙,因为必须先将输出结果转储到一个临时表中然后才能对其进行操作。而且,如果配置不当,在运行 SQL Trace/Profiler 时可能会导致性能急剧降低(例如在某个繁忙系统中跟踪所有“Lock:Acquired”(锁定:获得)和“Lock:Released”(锁定:释放)事件但却忘记筛选该事件的 DatabaseId 和 ObjectId 列)。图 1 中的屏幕快照显示的是用于配置筛选器以进行新跟踪的对话框。 图 1 在 SQL Server 2008 Profiler 中配置筛选器

相关主题
相关文档
最新文档