1、dephi+sqlserver2000开发,现在需要动态创建数据库,而且数据库文件要创建到指定位置,
请教高人,要怎么写?
2、程序中数据删除之后,数据库不会自动释放磁盘空间,需要人工收缩空间,在delphi中或者sqlserver用sql语句如何实现?以上2个问题,
请各位大侠指点!  谢谢

解决方案 »

  1.   


    1.
    AdoQuery1.sql.text := 'Create Databse test on disk = ...';
    adoquery1.execsql;2. 不會減少空間, MSSQL是預分配空間的,刪除數據後也不會收縮, 當然你可以自己寫代碼: dbcc shrinkFile  來收縮分配的空間
      

  2.   

    创建数据库
    create database mydata on (name='mydata',filename='c:\my.dbf')
      

  3.   

    收缩数据库
    DBCC SHRINKDATABASE(mydata)
      

  4.   

    谢谢2位大哥 bdmh starluck ,另外想问个问题:为什么在程序中读数据后,sqlserver占用内存会越来越大,重要的是它不会释放内存!?我最近才开始用sqlserver所以不是很清楚,请教
      

  5.   

    这个问题我也是在网上看到的,内容如下这个跟sql的内存管理机制有关 
       
    sql的内存管理原则是,只要有足够的内存,那么新的处理要求就直接分析新的内存进行处理,而不是释放内存,直到消耗完所有sql可用的内存后,再释放内存 
      

  6.   

    to: bdmh 我刚刚查了下,是这样的。你知道sqlserver的  设置允许sql server可以使用的最大内存 是在什么地方?
    可否用程序来设置?
      

  7.   

    sqlserver可用最大内存的可以在服务器属性->内存选项卡里面设置。程序好像没办法控制,可以在安装的时候设置。 很感谢2位的帮忙。