有适合python使用的数据库连接池或代理吗

有适合python使用的数据库连接池或代理吗,第1张

有一个python的包叫 SQLAlchemy ,

SQLAlchemy 是 Python Object Relational 映射器。这是python 的基本上默认的ORM标准了。

SQLAlchemy 的一个目标是提供能兼容众多数据库(如 SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企业级持久性模型。

SQLAlchemy拥有多个独立的部分,可以单独或协同工作,下面是主要API组件:

上图中最重要的两个接口是Object Relational Mapper(ORM)和SQL Expression Language

SQL Expression Language可以独立于ORM使用,但ORM需要使用SQL Expression Language构建。

这个包有很强的功能,其中

create_engine() 会返回一个数据库引擎,echo 参数为 True 时,会显示每条执行的 SQL 语句,生产环境下可关闭。

sessionmaker() 会生成一个数据库会话类。这个类的实例可以当成一个数据库连接,它同时还记录了一些查询的数据,并决定什么时候执行 SQL 语句。

SQLAlchemy 自己维护了一个数据库连接池(默认 5 个连接)

设置好日志文件的增长方式,并且设置上线,

要不然时间长了,数据量比较大并且经常改动的话,

会产生很大的日志文件,我这里数据文件800M,日志文件5G多,

如果不需要恢复数据库的话,可以将日志文件删除,

第一步:

backup log database_name with no_log

或者 backup log database_name with truncate_only --no_log和truncate_only是在这里是同义的,随便执行哪一句都可以

第二步:

1收缩特定数据库的所有数据和日志文件,执行 dbcc shrinkdatabase (database_name,[,target_percent])--database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比

2收缩一次一个特定数据库中的数据或日志文件,执行 dbcc shrinkfile(file_id,[,target_size]) --file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小

两个dbcc都可以带上参数notruncate或truncateonly,具体意思看帮助。

呵呵,希望能有帮助,^_^

端口映射,在代理服务器上安装端口映射工具,例如PortMap。然后进行配置,把代理服务器的数据库端口映射到数据库服务器的数据库端口上。例如sqlserver是1433,oracle是1521

这样你访问代理服务器的数据库端口就等于访问数据库服务器的对应端口了。

为了更加安全,你还可以在客户端上设置使用非默认的端口访问代理服务器,然后在代理服务器上把你指定的端口映射到数据库服务器的数据库端口。比如在代理服务器上把8000端口映射到服务器1433端口,然后在客户端上配置为使用8000端口来访问数据库。这样你就可以通过代理服务器的8000端口来连接sqlserver数据库了。

另外,也可以不用代理服务器,直接用路由器做端口映射。

sql

server的服务端口一般安装是默认为1433,只要此端口开放,那么客户端就可以连接到此sql

server

2008的服务。而sql

server

2008服务本身的运行并不需要指定的端口,1433只是让客户端可以与服务通讯的端口。

处理方法

一、配置环境

服务器环境为32位Intel® Xeon® CPU E54410 @233GHz双路双核开启超线程,800GB的内存,RAID10。

1根据最小权限原则,安装完数据库及SP3补丁后,建立Users组用户SqlStartUser。

2通过SQL Server配置管理器配置启用TCP/IP协议,IPALL的TCP端口改为32959。SQL Server(MSSQLSERVER)和SQL Server Agent(MSSQLSERVER)的服务启动账号为SqlStartUser。

3本地安全设置->本地策略->用户权限分配->内存中锁定页面添加SqlStartUser。

4勾选使用AWE分配内存。最小服务器内存(MB)5500,最大服务器内存(MB)7200,其他留给 *** 作系统。

二、检查步骤

1检查本地账号SqlStartUser隶属于哪几个组:本地Windows组之Users组;本地Windows组之SQL Server服务账户组SQLServer2005MSSQLUser$DBSRV1$MSSQLSERVER;本地Windows组之SQL Server服务账户组SQLServer2005SQLAgentUser$DBSRV1$MSSQLSERVER。

2检查数据库登录名是否有DBSRV1\SqlStartUser。

3检查事件查看器应用程序有关服务启动的过程信息。

三、类型来源 描述

①审核成功MSSQLSERVER用户 'DBSRV1 \SqlStartUser' 登录成功。连接: trusted [客户端: <local machine>]

②信息MSSQLSERVER配置选项 'show advanced options' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。

③信息MSSQLSERVERSQL Server 阻止了对组件 'Agent XPs' 的 过程'dbosp_sqlagent_has_server_access' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Agent XPs'。有关启用 'Agent XPs' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

④信息MSSQLSERVERSQL Server 阻止了对组件 'Agent XPs' 的 过程'dbosp_sqlagent_get_startup_info' 的访问

⑤错误MSSQLSERVERSQLServerAgent could not be started (reason: SQLServerAgent 必须能够以 SysAdmin 身份连接到 SQLServer,但“(未知)”不是 SysAdmin 角色的成员)。

可以从 sp_helpsrvrole 获得固定服务器角色的列表,可以从 sp_srvrolepermission 获得每个角色的特定权限。

每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果 Database1 和 Database2 中都有叫 UserX 的用户 ID,将Database1 中的 UserX 添加到 Database1 的 db_owner 固定数据库角色中,对 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成员没有任何影响。

以上就是关于有适合python使用的数据库连接池或代理吗全部的内容,包括:有适合python使用的数据库连接池或代理吗、(高分求助SQLSERVER达人)关于SQL SERVER 2005代理与存储过程、通过代理如何远程访问数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存