本文将为您提供关于vps、弹性云手工创建MSSQL数据库的详细介绍,我们还将为您解释sqlserver2000版本的相关知识,同时,我们还将为您提供关于MSsqlserver2008数据库转换成200
本文将为您提供关于vps、弹性云手工创建MSSQL数据库的详细介绍,我们还将为您解释sqlserver2000版本的相关知识,同时,我们还将为您提供关于MS sqlserver 2008数据库转换成2000版本的方法、MSSQL 清理所有用户数据库日志 (SQLSERVER2008)、MSSQL/SQLSERVER 2000 2005 2008 2008R2 jar包驱动问题 一个sqljdbc4.jar就OK了、mssql2000升级到SQLServer2005数据库中更改数据架构方法的实用信息。
本文目录一览:- vps、弹性云手工创建MSSQL数据库(sqlserver2000版本)(创建弹性云服务器)
- MS sqlserver 2008数据库转换成2000版本的方法
- MSSQL 清理所有用户数据库日志 (SQLSERVER2008)
- MSSQL/SQLSERVER 2000 2005 2008 2008R2 jar包驱动问题 一个sqljdbc4.jar就OK了
- mssql2000升级到SQLServer2005数据库中更改数据架构方法
vps、弹性云手工创建MSSQL数据库(sqlserver2000版本)(创建弹性云服务器)
1、我司的VPS一般都默认开通了MSSQL数据库,如果处于停止状态可以点击:开始→运行,输入services.msc,找到“MSSQLSERVER”服务,点“启动”,如图:
2、点击开始→程序→Microsoft SQL server →企业管理器,打开数据库,右键点击“新建”。
3、名称里默认输入一个数据库名称,建议用新建网站的的FTP加其他数字或者字母的组合,方便管理,如:myweb_mssql。填写后,在数据文件和事务日志中会自动生成文件名和文件路径,建议不要设置在系统盘分区,以免系统损坏造成数据丢失!如图:
4、在新建的数据文件和事物日志中有个限制增长,如果不限制数据库的大小,请保持默认。。
5、然后点击下边的“安全性”→“登陆”,右键点击“新建登陆”。新建登陆时,登陆名称可以填写您刚才建立的数据库名,验证选择sql身份验证,最下边的数据库选择您刚刚建立的数据库。如图:
6、服务器较色不用设置,点击“数据库访问”选择您刚才建立的数据库,在“数据库角色”中勾选“public”和“db_owner”两个角色,点确定即可。如图:
7、至此一个数据库就建立完成了,点击您的数据库中的“用户”,可以看到刚刚在登录中建立的用户信息。数据库主机是您的IP地址,如果网站就在同一个服务器上可以使用localhost,数据库用户名就是刚才登陆中建立的账户名称。
MS sqlserver 2008数据库转换成2000版本的方法
话说本来我的电脑有个2000的数据库,去年我在那个电脑上新装了一个2005的数据库。前不久我买了台新电脑,装了数据库2008 将在旧电脑上的一个数据库附加到了2008上面。做完项目,将数据库传到空间时,空间数据库是2000的,报错说我的数据库是2005的 现在我想把我的数据库转成2000,但是我的2008数据库的脚本向导里面没有转成2000这个选项,2005的版本又附加不上去。
关于这个问题,上网请教了网友,真实人多力量大,给出了一系列答案,下面就为大家整理的内容,希望可以帮助大家解决sqlServer数据库从高版本降级到低版本的问题。
网友DBA_Huangzj 给出的解决方法:
步骤1:
步骤2:
步骤3:
把脚本拖到2000的查询分析器界面,然后点运行,2000以前的我不清楚,但是从2000开始的所有sqlServer版本F5都是运行的意思....你不会没用过sqlServer吧?生成完之后。步骤4:
按照我文章中的那个步骤的截图打开导入导出工具,然后一直点下去,注意在【目标服务器】那里填写2000的那个实例名,然后到这个地方全选,再点下一步。步骤5:
点完成。然后基本上就完事了。
但是这里注意,因为你从2008直接降到2000,跨度很大,而且2000~2005是个大跨越,多处很多兼容性的问题,所以不排除你在生成脚本及导数据的时候会存在报错(并且可能性比较大!),如果有,那你要手动去除那些报错的,然后记下来,继续运行不报错的,最后再手动创建那个报错的。
补充一句
,比较稳妥的办法是在生成脚本时,先生成表的,也就是在步骤2中的【选择对象】那里选表,然后生成脚本,成功了,再生成其他比如存储过程等。以上就是本文的全部内容,谢谢网友的分享,希望对大家的学习有所帮助,也希望大家多多支持小编。
MSSQL 清理所有用户数据库日志 (SQLSERVER2008)
USE [master];
SET NOCOUNT ON;
DECLARE @tbName VARCHAR(50)='''';
DECLARE @tbLog VARCHAR(100)='''';
DECLARE @clearSql VARCHAR(MAX)='''';
DECLARE @TMP_WHILE_ID INT=0;
SELECT TMP_WHILE_ID=IDENTITY(INT,1,1),TMP_WHILE_FLAG=0,
T.tbName,T.tbLog
INTO #TMP_WHILE
FROM
(
SELECT master.sys.databases.name AS tbName, master.sys.master_files.name AS tbLog
FROM master.sys.master_files INNER JOIN master.sys.databases ON master.sys.master_files.database_id = master.sys.databases.database_id
WHERE (master.sys.databases.owner_sid <> 0x01) AND (master.sys.master_files.type = 1)
) AS T
SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0;
WHILE @TMP_WHILE_ID IS NOT NULL
BEGIN
SELECT @tbName=tbName,@tbLog=tbLog FROM #TMP_WHILE WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
SET @clearSql=@clearSql+''USE [master];''+CHAR(10);
SET @clearSql=@clearSql+''ALTER DATABASE [''+@tbName+''] SET RECOVERY SIMPLE WITH NO_WAIT;''+CHAR(10);
SET @clearSql=@clearSql+''ALTER DATABASE [''+@tbName+''] SET RECOVERY SIMPLE;''+CHAR(10);
SET @clearSql=@clearSql+''USE [''+@tbName+''];''+CHAR(10);
SET @clearSql=@clearSql+''DBCC SHRINKFILE (''''''+@tbLog+'''''',1,TRUNCATEONLY);''+CHAR(10);
SET @clearSql=@clearSql+''USE [master];''+CHAR(10);
SET @clearSql=@clearSql+''ALTER DATABASE [''+@tbName+''] SET RECOVERY FULL WITH NO_WAIT;''+CHAR(10);
SET @clearSql=@clearSql+''ALTER DATABASE [''+@tbName+''] SET RECOVERY FULL;''+CHAR(10);
UPDATE #TMP_WHILE SET TMP_WHILE_FLAG=1 WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0 AND TMP_WHILE_ID>@TMP_WHILE_ID;
END
DROP TABLE #TMP_WHILE;
--PRINT @clearSql;
EXEC(@clearSql);
MSSQL/SQLSERVER 2000 2005 2008 2008R2 jar包驱动问题 一个sqljdbc4.jar就OK了
今天遇到非常蛋疼的问题 如下:
我的系统主库是postgresql的 另外还连接了两个MSsql的数据库 先前客户说是2008R2的
我的系统会定时的去MSsql的数据库同步数据到postgresql
于是我在配置文件里面两个MSsql的配置都是
然后客户说有一台数据库的数据同步不了数据,并且数据库是MSsql2000的
我听到2000的第一反应就是以前数据库用2000的时候连接字符串和2005/2008的不一样
于是把连接字符串改成了
然后我记得以前2000的jar包是有3个的
不知道我现在项目里用的这个sqljdbc4.jar能连接2000的数据库不
于是google搜 sqlserver2000 jar
转到了微软的
http://www.microsoft.com/en-us/download/details.aspx?id=1511
下载了一个README.TXT的文本
文本的大意是说不再提供sqlserver2000的jar下载了
然后给了一个新的下载地址
http://msdn.microsoft.com/data/jdbc
在里面我看到一jar支持 2000 2005 2008 2008R2
于是下载下来sqljdbc_3.0.1301.101_chs.tar.gz
解压后在目录发现有两个jar:
sqljdbc.jar 和 sqljdbc4.jar
这两个jar的区别在于
sqljdbc.jar 适合jre1.5的环境
sqljdbc4.jar适合jre1.6的环境
因为我是1.6 所以用sqljdbc4.jar
因为MSsql2000的数据连接是
com.microsoft.jdbc.sqlserver.sqlServerDriver
所以我用rar打开sqljdbc4.jar查看该jar的文件结构
但是发现com.microsoft 的路径下没有jdbc这个目录
只有sqlserver这个目录
我就奇怪了如果是没有jdbc这个目录,那么肯定2000是无法驱动的
然后一试 果然提示找不到驱动
我就纳闷了 微软不是说了此jar包支持2000 2005 2008 2008R2么
怎么不行呢...
纳闷了好久
然后突然想,会不会是2000 2005 2008 2008R2的连接字符串都是一样的了呢?
于是我把2000的链接字符串也改成
这样就对了
你妹的 原来是这样
大家伙如果有这个问题的切忌啊...
2000 2005 2008 2008R2的链接字符串都一样了 而且只需要一个jar包就行了
另外附上查看sqlserver2000的版本的方法
方法一:
在查询分析器中输入“Select @@Version”并运行,查看运行结果,对照便知版本。
8.00.194 -——————sql Server 2000 RTM
8.00.384 -——————(SP1)
8.00.534 -——————(SP2)
8.00.760 -——————(SP3)
8.00.2039 -——————(SP4)
方法二:
运行sql SERVER服务管理器,在任务栏小托盘处,右键单击管理器图标,选“关于”,在弹出的窗口中,对照上面的信息便知
方法三:
在添加或删除程序中查看sql Server的支持信息,可直接查看到版本号(具体方法略)
补充说明:sql SERVER个人版,如果未打SP4补丁,是不会在1433端口监听的,即除本机外,其他电脑无法联入该数据库。
再附上一个把MSsql的表数据查询成 insert into格式的函数
Exec proc_insert NewDataTable;
执行 Exec proc_insert TableName;
效果如下图所示
mssql2000升级到SQLServer2005数据库中更改数据架构方法
数据库升级到 mssql 2005 了,我对 2005 不熟悉,发现还原 2000 的数据以前的用户名删除不了,报 Microsoft SQL Server错误: 15138。
在网上找到:SQL Server 2005删除用户失败解决方法(15138错误)
Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。
删除 对于 用户“*****”失败。 (Microsoft.SqlServer.Smo)
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
解决方法一
先删除此用户对应的架构,然后在删除对应的用户
步骤
代码如下 | 复制代码 |
1。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 构架,先删除对应的构架 2。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 用户,删除对应的用户 |
解决方法二
–执行如下SQL语句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
–然后手动删除就可以了。
在这里又出现构架也删除不了,原因有一个表的构架不是 dbo 了,得改为 dbo 才行。
在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;
架构也由A改为B,删除架构A,操作如下:
1、创建用户B,再创建架构B;
2、将架构A的权限赋给用户B,取消用户A拥有架构A的权限,删除用户A;
3、将数据库的所有属于架构A的对象改为架构B,代码如下:
ALTER SCHEMA [新架构名] TRANSFER 旧架构名.[数据库中的对象表或视图或存储过程]
ALTER SCHEMA [B] TRANSFER A.[对象1]
ALTER SCHEMA [B] TRANSFER A.[对象2]
ALTER SCHEMA [B] TRANSFER A.[对象n]
而当要更改一个数据库中全部的表或存储过程时,用上面的方法是可以实现,但是速度太慢了,所以写了一个存储过程批量修改:
改存储过程:
代码如下 | 复制代码 |
USE [testDemo] -- --ALTER SCHEMA slqwell TRANSFER create table #t ( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 procName varchar(100), ) insert into #t(procName) select ''dbo.'' +name from sysobjects where xtype=''P'' and status>=0 select * from #t declare @i int declare @j int set @j = 1 declare @procName varchar(100) declare @SchemaTable varchar(200) while(@j begin select @procName=procName from #t where ID=@j set @j = @j + 1 set @SchemaTable = ''ALTER SCHEMA sqlwell TRANSFER '' + @procName exec (@SchemaTable) end drop table #t |
其中原来的架构为代表dbo,先的为sqlwell
要修改表的架构时,只要修改上面的xtype=''P'' 为xtype=''U''
关于vps、弹性云手工创建MSSQL数据库和sqlserver2000版本的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于MS sqlserver 2008数据库转换成2000版本的方法、MSSQL 清理所有用户数据库日志 (SQLSERVER2008)、MSSQL/SQLSERVER 2000 2005 2008 2008R2 jar包驱动问题 一个sqljdbc4.jar就OK了、mssql2000升级到SQLServer2005数据库中更改数据架构方法的相关信息,请在本站寻找。
本文标签: