php如何连接SQL server 2008 r2,求助各位

php如何连接SQL server 2008 r2,求助各位,第1张

配置php

a、打开phpin将extension=php_mssqldll的注释符号去掉。

b、打开phpin将mssqlsecure_connection

=

off改为on。

c、将php_mssqldll拷贝到phpin中extension_dir

指定的目录或者系统system32目录下。(php_mssqldll在php的压缩安装包中有)。

php

/

@author

samsun

@copyright

2007

php使用mssql库,连接sql

server数据库实例

/

$server='ip地址或服务器名';

$username='数据库用户名';

$password='数据库密码';

$database='数据库名';

$conn=mssql_connect($server,$username,$password)

or

die("couldn't

connect

to

sql

server

on

$server");

$db=mssql_select_db($database)

or

die("couldn't

open

database

$database");

或:

php

//链接数据库

$conn=mssql_connect('localhost','sa','123456');

mssql_select_db('gu_dde',$conn);

//query语句

$query="select

from

dde_top";

$adminresult=mssql_query($query);

//输出结果

$num=mssql_num_rows($adminresult);

for($i=0;$i<$num;$i++)

{

$row=mssql_fetch_array($adminresult);

echo($row[1]);

echo("

");

}

如果库文件日志文件一块附加都附加不上的话,按以下步骤 *** 作:

1,在sqlserver中新建库(新建没有表的空库,库名为你附加失败的库名),记住数据库文件存放地址(最好指定目录)。

2,停止sqlserver服务,在新建的库文件目录下将日志文件删除(ldf),然后将附加失败的库文件覆盖进去。

3,启动sqlserver服务,但不停止一切连接该库的服务。

然后执行语句:

use master

go

alter database db_name set emergency

go

4、置为单用户模式,并重建日志:

alter database db_name set single_user with rollback immediate

go

alter database db_name Rebuild Log on (name=log_name,filename='C:\log_nameldf')

go

alter database dbname set multi_user

go

其中日志文件目录及文件名按实际情况填写。

5、dbcc checkdb尝试修复库。

Use master

go

sp_dboption 数据库名, single, true

dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(dbname,REPAIR_REBUILD)

go

sp_dboption 数据库名, single, false

go

如果修复过程中有错误则库损坏严重,可能修复失败。

最近遇到一个服务器的数据库文件增长很快,情况属于正常,磁盘空间很快就要满了,但是另一个分区还有大把的空间,所以寻思着怎么把数据库文件,放过去,代码如下:

DECLARE @DBNAME VARCHAR(255)

DECLARE @TargetPath VARCHAR(255)

DECLARE @CmdCommand VARCHAR(2000)

SET @DBNAME='TEST'

SET @TargetPath='D:\Program Files\Microsoft SQL Server\MSSQL10_50MSSQLSERVER\MSSQL\DATA'

--第一步:设置数据库脱机

SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET OFFLINE'

EXEC(@CmdCommand)

--第二步:物理拷贝数据库文件到新目录

DECLARE @FileName VARCHAR(255)

DECLARE @SourceFullName VARCHAR(255)

DECLARE FileCur CURSOR for SELECT name,physical_name from sysmaster_files where database_id=db_id(@DBNAME)

OPEN FileCur

FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName

WHILE @@FETCH_STATUS=0

BEGIN

SET @CmdCommand= 'copy "'+@SourceFullName+'" "'+@TargetPath+'"'

EXEC masterxp_cmdshell @CmdCommand

--修改数据库文件的路径指向新目录

SET @CmdCommand='ALTER DATABASE '+@DBNAME+' MODIFY FILE(FILENAME='''+@TargetPath+CASE WHEN RIGHT(@TargetPath,1)='\'THEN'' ELSE'\' END+

RIGHT(@SourceFullName, CHARINDEX('\', REVERSE(@SourceFullName))-1)+''',name='''+@FileName+''')'

EXEC(@CmdCommand)

FETCH NEXT FROM FileCur INTO @FileName,@SourceFullName

END

CLOSE FileCur

DEALLOCATE FileCur

--第三步:设置数据库联机

SET @CmdCommand= 'ALTER DATABASE '+@DBNAME+' SET ONLINE'

EXEC(@CmdCommand)

也可以把这个做成一个过程,就不在这里修改了。

有没有附加日志文件,

如果库文件和日志文件一块附加都附加不上的话,按以下步骤 *** 作:

1,在sqlserver中新建库(新建没有表的空库,库名为你附加失败的库名),记住数据库文件存放地址(最好指定目录)。

2,停止sqlserver服务,在新建的库文件目录下将日志文件删除(ldf),然后将附加失败的库文件覆盖进去。

3,启动sqlserver服务,但不停止一切连接该库的服务。

然后执行语句:

use master

go

alter database db_name set emergency

go

4、置为单用户模式,并重建日志:

alter database db_name set single_user with rollback immediate

go

alter database db_name Rebuild Log on (name=log_name,filename='C:\log_nameldf')

go

alter database dbname set multi_user

go

其中日志文件目录及文件名按实际情况填写。

5、dbcc checkdb尝试修复库。

Use master

go

sp_dboption 数据库名, single, true

dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(dbname,REPAIR_REBUILD)

go

sp_dboption 数据库名, single, false

go

。如果修复过程中有错误则库损坏严重,可能修复失败。

这不是SSH的问题,而是数据库的相关问题。

即使你不使用SSH,如果要用数据库,也必须知道这些东西。

数据库驱动:

数据库开发商都会提供针对各种主流编程语言提供链接方法。

MySql的驱动commysqljdbcDriver,

sqlserver驱动commicrosoftjdbcsqlserverSQLServerDriver

这个驱动要从数据库开发商取得。

链接:

这个链接也是从数据库开发商取得,但是各种教程都有介绍,也就没必要去问开发商了。

根据数据库不同,链接形式也不同。

数据源,连接池:

你喜欢哪个连接池,那就用什么链接池。

如我的c3p0连接池:

commchangev2c3p0ComboPooledDataSource

以上就是关于php如何连接SQL server 2008 r2,求助各位全部的内容,包括:php如何连接SQL server 2008 r2,求助各位、错误823 前滚了4个事务(在数据库(8)中、SQL数据库怎么用查询来设置文件路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9755736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存