Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

Php कॉलिंग sqlserver बैकअप डेटाबेस स्क्रिप्ट, बैकअप फ़ाइल बनाई और फिर हटा दी गई

यहाँ एक समाधान है, जो मेरे लिए काम करता है:

  • निष्पादित करें sqlsrv_configure("WarningsReturnAsErrors", 0); त्रुटि प्रबंधन के लिए सेटिंग बदलने के लिए।
  • WITH STATS = 1 BACKUP DATABASE . से बयान।

मैं अपाचे 2.4, PHP 7.1.12 और SQL सर्वर के लिए Microsoft PHP ड्राइवर (php_sqlsrv_71_ts_x86.dll, संस्करण 4.3) का उपयोग करके एक परीक्षण मामले के साथ इस समस्या को पुन:उत्पन्न करने में सक्षम हूं। अंतर केवल इतना है कि उदाहरण SQLSRV ड्राइवर का उपयोग करता है (मैं अपने परीक्षण वातावरण में PDO_SQLSRV ड्राइवर का उपयोग नहीं कर सकता)।

पीएचपी

<?php
    sqlsrv_configure("WarningsReturnAsErrors", 0);

    // Connection
    $serverName = "127.0.0.1\instance,1433";
    $connectionInfo = array(
        "UID"=>"user",
        "PWD"=>"password",
        "Database"=>"ProdDB"
    );
    $conn = sqlsrv_connect($serverName, $connectionInfo);
    if ($conn === false) {
        echo "Unable to connect.</br>";
        die(var_export(sqlsrv_errors(), true));
    }

    // Backup database
    $strSQL = file_get_contents("archdata.sql");
    if (!empty($strSQL)) {
        $query = sqlsrv_query($conn, $strSQL);
        if ($query === false) {
            die(var_export(sqlsrv_errors(), true));
        } else {
            sleep(5);  
            echo "Success";
        }
    }   
?>

टी-एसक्यूएल (archdata.sql)

declare 
    @path varchar(100),
    @fileDate varchar(20),
    @fileName varchar(140)

SET @path = 'd:\Backup\'   
SELECT @fileDate = CONVERT(VARCHAR(20), GETDATE(), 112)  
SET @fileName = @path + 'ProdDB_' + @fileDate + '.BAK' 
BACKUP DATABASE ProdDB TO [email protected]

'D:\Backup' फोल्डर को जरूरी अधिकार देना न भूलें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL पूरी तालिका को स्थानांतरित करता है

  2. SQL सर्वर पर स्ट्रिंग करने के लिए varbinary

  3. मैं OLE DB स्रोत घटक में संग्रहीत कार्यविधि पैरामीटर के लिए मान कैसे पास करूं?

  4. क्या मैं प्राथमिक कुंजी के लिए अनदेखा_dup_key चालू कर सकता हूं?

  5. यादृच्छिक तिथि के साथ पंक्तियों को कैसे अपडेट करें