您可以尝试执行以下操作:
1)将远程调试工具设置到 MSSQL Server 机器:http:
//msdn.microsoft.com/en-us//library/bt727f1t.aspx
2)在 MSSQL Server 上运行远程调试监视器机器: http:
//msdn.microsoft.com/en-us//library/xf8k2h6a.aspx
3)打开您的数据库项目并选择:调试 - 附加到进程...
4)浏览,选择您的服务器。
5) 选择 sqlservr.exe 和 Attach
就是我想的那样。
我用于测试的代码示例:
//StoredProcedure sample
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcedure1(string source)
{
SqlDataRecord tempRecord = new SqlDataRecord(new SqlMetaData[] { new SqlMetaData("test", SqlDbType.VarChar, 50) });
tempRecord.SetString(0, "teeeest");
SqlContext.Pipe.Send(tempRecord); // here breakpoint with source=="php" condition
}
};
//PHP code sample
<?php
$connectionInfo = array( "Database"=>"db", "UID"=>"sa", "PWD"=>"**************");
$link = sqlsrv_connect('server', $connectionInfo);
if( $link === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
$sql = " { call StoredProcedure1 ( ? ) } ";
$param1 = 'php';
$params = Array(
Array(&$param1, SQLSRV_PARAM_IN)
);
$stmt = sqlsrv_query($link,$sql,$params);
if ($stmt===false) {
// handle error
echo('1');
print_r(sqlsrv_errors(),true);
} else {
print_r($stmt);
sqlsrv_fetch( $stmt );
print_r(sqlsrv_get_field( $stmt, 0));
}